簡體   English   中英

在AngularJS中保存用戶信息的方法

[英]Methods of saving user info in AngularJS

我想了解保存用戶信息的方式。

許多老年人建議使用$cookieStoreAuthentication等。

但是如何使用$rootScope呢?

我的想法是當用戶登錄時,將其ID和密碼保存到$rootScope

(命名$rootScope.user_id = 'stupid';

這是危險的方式嗎?

我不知道這個問題是否重復,但是我找不到一個談論使用$rootScope

更新

我的配置如下。

“根控制器”可以查看所有范圍,因此即使刷新頁面,

$ rootScope值不會消失。

$stateProvider
.state('root.login',{
    url: '/login',
    controller: 'LoginCtrl',
    templateUrl: 'views/login.html'
})
.state('root.signup',{
    url: '/signup',
    controller: 'LoginCtrl',
    templateUrl: 'views/signup.html'
})
.state('root.main',{
    url: '/main',
    controller: 'MainCtrl',
    templateUrl: 'views/main.html',
})

將原始用戶憑據存儲在rootScope或cookie中是非常糟糕的方法。 但是,您可以使用userToken或服務器端提供的會話來對此進行歸檔。

userToken示例

  1. 將用戶登錄請求發送到后端服務器
  2. 服務器返回響應userToken
  3. angularjs將userToken存儲在cookie中
  4. 每當angularjs請求到后端時,都必須附加此userToken(通常放在標頭中)

會話示例

  1. 將用戶登錄請求發送到后端服務器
  2. 服務器返回結果(因為后端服務器將在服務器本身的http上創建會話)
  3. angularjs可以正常發送請求到后端(后端將驗證會話是否有效以接受請求)

因此,如果用戶刷新頁面或切換頁面,則可以調用后端服務器來驗證userToken或會話。

如果您存儲敏感數據,$ rootScope將很容易受到攻擊,而不是使用localstorage通過使用某些加密算法和密鑰的加密來存儲用戶憑據,並如上所述,創建服務來獲取和設置值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM