【发布时间】:2014-09-05 23:56:08
【问题描述】:
我为我的应用创建了一项服务,用于获取 PHP 会话信息以验证用户是否已登录。该服务的代码如下。
angular.module('omApp')
.factory 'Auth', ['AuthResource', '$rootScope', '$location', (AuthResource, $rootScope, $location) ->
user = AuthResource.get()
# TODO: Setup permissions in database and load them
# permissions = AuthResource.get()
Auth =
user: user
signedIn: ->
user.id > 0
logout: ->
window.location = '/login/login.php'
$rootScope.signedIn = ->
Auth.signedIn()
$rootScope.authUser = Auth.user
return Auth
]
对于需要登录用户的控制器,我想做类似if not signedIn() then logout() 的操作。我的问题是,这段代码在我的资源实际加载之前运行,所以无论如何,我都会被重定向到登录屏幕。我知道 AuthResource.get() 会产生一个承诺,但在这种情况下,我不知道如何使用它并提供签名和注销功能。
【问题讨论】:
标签: angularjs authentication coffeescript