2017-10-08 72 views
-1

我一直致力于在角度应用程序中实现用户身份验证。我以一种将令牌存储在本地存储中的方式实现。如何在会话存储中存储数据,以便在关闭浏览器时删除数据?

这是我的代码,当用户输入用户凭证并按提交时执行。

this.http.post('http://localhost:3000/users/login', this.user).subscribe(data => { 
    if (data['token']) { 
    localStorage.setItem('mean-token', data['token']); 
    location.reload(); 
    this.router.navigate(['/']); 
    } 
}); 

我的应用程序将令牌存储在本地存储中,并且在关闭浏览器时令牌不会被删除。我希望在关闭浏览器时删除令牌。我怎样才能做到这一点?


问题更新: 我明白,我需要存储在会话存储,而不是本地存储数据,但我一直没能找到如何做到这一点的角度4.我想知道如何它与Angular 4一起开发。

回答

1

“我希望在浏览器关闭时删除令牌。”

localStorage将会话永久保存,但在浏览器关闭时SessionStorage关闭会话。

https://code.google.com/p/sessionstorage/

+0

感谢商业自杀为您的帮助。我想我应该更清楚我的问题。我会更新我的问题。我想问的问题是如何以角度4的方式将数据存储在会话存储中而不是本地存储中。我搜索了如何做到这一点,但是我一直无法找到它。 –

+0

@ M.Kim,我认为这篇文章会帮助你:https://stackoverflow.com/questions/39840457/how-to-store-token-in-local-or-session-storage-in-angular-2 –

相关问题