除非用户退出系统,否则我如何在 angularjs 中保留用户详细信息?
我的标头使用一个名为 user 的变量,因此当用户成功登录时,我从 REST 响应设置用户属性。一旦设置用户,然后使用 ng:show 和 $scope.watch 我更改部分标头并显示欢迎'用户名'。当用户再次刷新页面时出现问题,在这种情况下,用户被重置并且用户看到登录页面标题。我该如何更正它?除非用户退出系统,否则我如何保持用户值?我应该设置用户rootScope 还是有其他更好的方法来处理这个问题?
除非用户退出系统,否则我如何在 angularjs 中保留用户详细信息?
我的标头使用一个名为 user 的变量,因此当用户成功登录时,我从 REST 响应设置用户属性。一旦设置用户,然后使用 ng:show 和 $scope.watch 我更改部分标头并显示欢迎'用户名'。当用户再次刷新页面时出现问题,在这种情况下,用户被重置并且用户看到登录页面标题。我该如何更正它?除非用户退出系统,否则我如何保持用户值?我应该设置用户rootScope 还是有其他更好的方法来处理这个问题?
这是一个开放式问题,要真正回答它,我需要知道您的后端是什么样的以及您的安全要求是什么。
我可以看到两种前进的方式:
(1) 如果可以依赖和信任 cookie 来确保安全,您可以使用来自 cookie 的数据登录用户,就像您通过 REST 响应登录它们一样。很酷的一点是,对于用户来说,这将是即时的(下一个选项不会是)。
(2) 有一个单独的控制器来处理始终向服务器请求用户数据(登录或未登录)的标头。SEN做了这样的事情(顺便说一句,它让我发疯)。我不知道您是否有 SEN 帐户,但如果有,您可以登录/注销并尝试一下。您会看到,当您最初点击页面时,您会看到一个加载屏幕,但即使在加载之后,标题甚至还有一个小的“正在登录...”加载小部件本身。
您可以使用本地存储(键值对 HTML5 存储)来存储信息并在页面加载时检索它。如果您不想自己编写 javascript,有一个非常简单的库,称为Lawnchair。否则谷歌 html5 本地存储教程。