我有一个用户可以访问该应用的不同部分。我现在正在做的是为每个$ routeProvider.when
添加一个解决方案resolve : {
adminUser: securityAuthorizationProvider.requireAuthenticatedUser,
hasSiteAccess: securityAuthorizationProvider.requireSiteAccess,
hasEmailAccess: securityAuthorizationProvider.requireEmailAccess
}
在每个控制器中,我都添加了“hasSiteAccess
”和“hasEmailAccess
”,如下所示:
.controller('setup', ['$scope','hasSiteAccess','hasEmailAccess', function ($scope, hasSiteAccess, hasEmailAccess) {
我的应用程序分为许多模块,我想让它们全部显示,以显示友好的消息。
是否可以在所有路径和控制器中使用此解析对象?
谢谢!
答案 0 :(得分:0)
只需在通过$routeChangeStart
事件更改每次路线之前应用授权提供商:
.run(['$rootScope', 'securityAuthorization',
function($rootScope, securityAuthorization) {
$rootScope.$on('$routeChangeStart', function(next, current) {
securityAuthorization.requireAuthenticatedUser();
securityAuthorization.requireSiteAccess();
securityAuthorization.requireEmailAccess();
});
}
])
希望这有帮助