【发布时间】:2015-11-09 19:23:07
【问题描述】:
我在我的 AngularJS 应用程序中使用 ng-token-auth 和 devise_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 的新手,所以如果我做错了什么,请告诉我。
【问题讨论】: