【发布时间】:2015-08-22 05:19:05
【问题描述】:
我是 AngularJs 的新手。我的问题是用户登录后如何存储当前用户数据?
我遇到了很多推荐使用服务的解决方案,并将服务注入控制器。像这样的:
customer.factory('service', function(){
var auth = {};
auth.currentUser = null;
auth.setCurrentUser = function(data){
auth.currentUser = data;
};
return auth;
})
这对我来说非常有效,直到我点击浏览器的 refresh 按钮,存储在 Javascript 变量中的所有信息都丢失了。
要解决这个问题,我必须使用 $cookieStore 或类似的东西吗?我见过很少有人提到 ui-route,我无法完全理解它。 ui-route 与此讨论相关吗?此外,我想使用相同的解决方案为登录用户保存身份验证令牌。
您对这个问题有什么总体看法?非常感谢您。
【问题讨论】:
-
是的,您需要将其存储在某个持久性存储中:cookie 或本地存储。
-
我推荐ngStorage github.com/gsklee/ngStorage
-
@JBNizet 谢谢。我在 Internet 上看到的大多数示例都建议使用 $scope 或 $rootscope。那么我是否可以假设所有这些解决方案都不是真正的生产可用解决方案?
-
@ArjunU。谢谢。 ngStorage 与基于 cookie 的存储有什么区别?
标签: angularjs login angular-ui-router cookiestore