我在我的AngularJS應用程序中使用ng-token-auth以及devise_token_auth。我已經實現登錄和註銷成功,但我無法執行以下操作:使用ng-token-auth檢索身份驗證狀態和當前用戶
- 確定用戶是否被驗證,
- 獲取當前用戶的信息。
我已經部分使用事件訂閱解決1:
myApp.run(['$rootScope',
($rootScope)->
$rootScope.isAuthenticated = false
$rootScope.$on('auth:validation-success', (e)->
$rootScope.isAuthenticated = true
)
$rootScope.$on('auth:login-success', (e)->
$rootScope.isAuthenticated = true
)
$rootScope.$on('auth:validation-error', (e)->
$rootScope.isAuthenticated = false
)
$rootScope.$on('auth:invalid', (e)->
$rootScope.isAuthenticated = false
)
$rootScope.$on('auth:login-error', (e)->
$rootScope.isAuthenticated = false
)
$rootScope.$on('auth:logout-success', (e)->
$rootScope.isAuthenticated = false
)
$rootScope.$on('auth:account-destroy-success', (e)->
$rootScope.isAuthenticated = false
)
$rootScope.$on('auth:session-expired', (e)->
$rootScope.isAuthenticated = false
)
])
不過,我不知道這是做的最好的方式。也許我應該在 服務中做呢?
關於2,我已經安裝了angular-resource並配置了User
資源,但我真的不知道從哪裏獲取用戶信息(服務?控制器?),以及如何當用戶更新他們的個人資料更新(我應該只聽事件訂閱者還是重新加載每個狀態變化的信息?)。
我對Angular相當陌生,所以請讓我知道我是否做了其他任何錯誤。
我將如何從模板訪問這些數據? –
向UserService添加一個新函數 - this.getUser = function(){return _user};這個函數可以在任何控制器內部使用,你可以將它附加到$ scope並在模板中使用它 –
好的,我如何訂閱服務內部的事件? –