我使用本地存储但是在注销后如果我点击相同的URL,用户能够再次登录,即使我检查了会话存储我面临同样的问题,有什么方法可以处理cookie / session使页面刷新或用户注销后点击相同的URL用户不应该登录。
logout() {
this.cookie.delete("token");
this.cookie.delete("userId");
this.cookie.delete("accountId");
}
这就是我清除cookie的方式。
答案 0 :(得分:0)
我为此编写了一个函数
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
如果您想使用角度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
并使用typescript
https://tutorialedge.net/typescript/angular/angular-cookies-tutorial/