【问题标题】:Angular 4 cookie managementAngular 4 cookie 管理
【发布时间】:2018-07-31 16:19:09
【问题描述】:
我正在使用 Angular 4 项目。我有以下情况:
一旦我使用一个用户登录并打开另一个选项卡并使用其他用户登录,之前登录用户的本地存储授权 (Cookie) 将被新登录用户的本地存储授权 (Cookie) 覆盖用户的。因此我得到了一些不受欢迎的行为,这有点破坏了应用程序的功能。
如何管理它?我需要从服务器端还是从 Angular 进行更正?
这是一个有点主观的问题,但我非常感谢一些示例参考或相同的实际实现。
【问题讨论】:
标签:
angular
session
cookies
session-cookies
user-management
【解决方案1】:
根据我的考虑,如果您将本地存储值用于记录目的。因此,对于每次用户登录或单击登录按钮或登录过程检查时,此本地存储值是否存在。如果它存在,则不允许打开您的登录页面。
并且不要忘记在用户注销时清除您的本地存储值。
【解决方案2】:
在调用登录 API 之前,您应该这样做
if ( entered username/passward === localStorage.getItem('user')) {
// allow him to next page
} else if(localStorage.getItem('user') === undefined) {
//call login API
//and store user credentials like this
localStorage.setItem('user', 'your value');
}else {
// show error message as already logged in
}
and once current user logged out clear local storage
localStorage.removeItem('user');