我有一个用户可以访问应用程序的不同部分。我现在正在做的是为每个 $routeProvider.when 添加一个 resolve
resolve : {
adminUser: securityAuthorizationProvider.requireAuthenticatedUser,
hasSiteAccess: securityAuthorizationProvider.requireSiteAccess,
hasEmailAccess: securityAuthorizationProvider.requireEmailAccess
}
我在每个 Controller 中添加“hasSiteAccess
”和“hasEmailAccess
”,如下所示:
.controller('setup', ['$scope','hasSiteAccess','hasEmailAccess', function ($scope, hasSiteAccess, hasEmailAccess) {
我的应用程序分为许多模块,我想让这些模块全部可用以显示友好的消息。
是否可以让这个解析对象在所有路由和 Controller 中可用?
谢谢!
最佳答案
只需在每次通过 $routeChangeStart
事件更改路由之前应用授权提供程序:
.run(['$rootScope', 'securityAuthorization',
function($rootScope, securityAuthorization) {
$rootScope.$on('$routeChangeStart', function(next, current) {
securityAuthorization.requireAuthenticatedUser();
securityAuthorization.requireSiteAccess();
securityAuthorization.requireEmailAccess();
});
}
])
希望对你有帮助
关于javascript - 是否可以定义一个解析对象并使其在所有路由中可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17443699/