调用localStorage.clear()如果用户在一段时间内未参与应用程序

时间:2019-02-21 07:28:02

标签: javascript angular authentication local-storage settimeout

我是Angular 6的新手,我使用Angular做了一个试用应用程序,我将登录凭据存储在本地存储中以进行用户身份验证。现在,当用户在30分钟的延迟内未对应用程序执行任何操作时,我想调用localStorage.clear()方法。这是正确的过程吗?还是有其他可能性?

2 个答案:

答案 0 :(得分:1)

不能。 When do items in HTML5 local storage expire?唯一可以做的就是在1小时的超时时间内设置delete语句。这要求用户停留在您的页面上,否则将不会执行超时。

您还可以设置一个到期字段。当用户再次访问您的网站时,请先检查其到期时间并删除下次访问时的存储空间。

答案 1 :(得分:1)

不,这不是一个好的专业惯例。从本地存储中删除用户的凭证是没有意义的。您应该清除用户何时注销。但是在某些时候,可以实现自动注销会话。

setTimeout(logout(){ alert("Hello"); }, 1800000);
logout(){
     localstorage.clear('user');
}

您可以借此实现。