如何解决angularjs中的会话和本地存储问题?

时间:2017-04-25 06:29:10

标签: javascript angularjs session

这里我有loginpage的本地和会话存储。登录后,如果我在控制台的应用程序选项卡中更改了用户信任,我可以看到现有的正在改变。所以会话和本地存储不会被更改如果我在控制台窗口中更改了appalication选项卡。除此之外的任何可能的方式。

这是我的代码:

if (isNaN(response)) {
    var login= $window.sessionStorage.getItem("login ");
    if (loginType == "DT") {
        $window.sessionStorage.setItem("data", JSON.stringify(response));
        $('#signin').modal('hide');                       
    }
    else {
        $window.sessionStorage.setItem("data", JSON.stringify(response));
        $window.location.href = "/dashboard.html";
    }
}

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

根据我对你问题的理解。您希望限制用户更改sessionStorage或localStorage数据。

答案:

你不能限制。我们无法阻止用户访问自己的系统或计算机上的资源。

其他解决方法:

  • 您可以在控制器之间创建servicesetget数据,然后将该服务注入您要使用它的控制器功能中。
  • 将关键数据存储到localStorage中的sessionStorageencrypted form,以便用户想要尝试更改数据。他无法做到这一点。

答案 1 :(得分:0)

页面会话结束时,会在sessionStorage中存储的数据被清除。 存储在localStorage中的数据没有到期时间。

根据您的应用会话类型(持久登录或会话登录),选择存储类型。

我不确定我是否正确理解了您的问题,但是如果用户不愿意将他/她的accessKey从应用程序选项卡更改为无效的,您应该在页面加载时提供一个选项来清空userDetails对象在local / sessionStorage并重新加载页面。