当我刷新页面时,cookie 过期了,我没有看到任何数据
while i refresh the page the cookies get expire i don't see any data
我使用本地存储,但在注销后,如果我点击相同的 URL 即使我检查了会话存储,用户也能够再次登录 我面临同样的问题,有什么办法我可以处理 cookie/session 以便在页面刷新或用户注销后点击同一个 URL 用户应该无法登录。
logout() {
this.cookie.delete("token");
this.cookie.delete("userId");
this.cookie.delete("accountId");
}
这就是我清除 cookie 的方式。
我已经为此写了一个函数
function deleteCookies(removeCookies) {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
if(name in removeCookies)
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}
var removeCookieSet = ["token","userId","accountId"] ;
deleteCookies(removeCookieSet)
这一套是从我那里拿来的,我已经重写了,所以你可以使用它。 Clearing all cookies with JavaScript
以上是直接的,如果你想使用 angular JS
angular.module('cookiesExample', ['ngCookies'])
.controller('ExampleController', ['$cookies', function($cookies) {
var removeCookieSet = ["token","userId","accountId"];
for(i=0;i<removeCookieSet.length;i++)
// Setting a cookie
$cookies.remove(removeCookieSet[i]);
}]);
使用angular JS,你将不得不注入ngcookies
并使用打字稿
https://tutorialedge.net/typescript/angular/angular-cookies-tutorial/
我使用本地存储,但在注销后,如果我点击相同的 URL 即使我检查了会话存储,用户也能够再次登录 我面临同样的问题,有什么办法我可以处理 cookie/session 以便在页面刷新或用户注销后点击同一个 URL 用户应该无法登录。
logout() {
this.cookie.delete("token");
this.cookie.delete("userId");
this.cookie.delete("accountId");
}
这就是我清除 cookie 的方式。
我已经为此写了一个函数
function deleteCookies(removeCookies) {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
if(name in removeCookies)
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}
var removeCookieSet = ["token","userId","accountId"] ;
deleteCookies(removeCookieSet)
这一套是从我那里拿来的,我已经重写了,所以你可以使用它。 Clearing all cookies with JavaScript
以上是直接的,如果你想使用 angular JS
angular.module('cookiesExample', ['ngCookies'])
.controller('ExampleController', ['$cookies', function($cookies) {
var removeCookieSet = ["token","userId","accountId"];
for(i=0;i<removeCookieSet.length;i++)
// Setting a cookie
$cookies.remove(removeCookieSet[i]);
}]);
使用angular JS,你将不得不注入ngcookies
并使用打字稿
https://tutorialedge.net/typescript/angular/angular-cookies-tutorial/