我刚刚开始使用AngularJS,我试图在Angularapp上存储用户会话.
提交用户名和密码工作的第一步.
之后,我将该服务中检索的用户名存储在$rootScope中.
下一页可显示用户名.
但是刷新后,$rootScope为空.
我试图做一个尽可能简单的认证系统.
myApp.controller('loginController',['$scope','$rootScope','$location','AuthService','$route',function ($scope,$rootScope,$location,AuthService,$route) { $scope.login = function (credentials) { AuthService.login(credentials).then(function (response) { if(response.data == "0"){ alert("Identifiant ou mot de passe incorrect"); } else { // response.data is the JSON below $rootScope.credentials = response.data; $location.path("/"); } }); }; }]);
AuthService.login()生成$http请求.
JSON
{user_id: 1,user_name: "u1",user_display_name: "Steffi"}
HTML:
<div>Welcome {{ credentials.user_display_name }}!</div>
我尝试了很多教程,但是我无法使会议工作.
我已经使用过UserApp,但对我来说并不好.我想创建我自己的简单身份验证.
解决方法
当页面刷新时,$rootScope将始终重置,因为它是单页应用程序.
您需要使用持久客户端的东西,例如cookie或sessionStorage(因为它们都有到期时间).看看$cookieStore:https://docs.angularjs.org/api/ngCookies/service/$cookieStore的文档
记住,敏感会话信息应该被加密.
原文地址:https://www.jb51.cc/js/153909.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。