微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何在Angular中存储用户会话?

我刚刚开始使用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 举报,一经查实,本站将立刻删除。

相关推荐