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