2

我有一个用户可以访问应用程序的不同部分。我现在正在做的是为每个 $routeProvider.when 添加一个解析

resolve : {
            adminUser: securityAuthorizationProvider.requireAuthenticatedUser,
            hasSiteAccess: securityAuthorizationProvider.requireSiteAccess,
            hasEmailAccess: securityAuthorizationProvider.requireEmailAccess
        }

在每个控制器中,我都添加了“ hasSiteAccess”和“ hasEmailAccess”,如下所示:

.controller('setup', ['$scope','hasSiteAccess','hasEmailAccess', function ($scope,  hasSiteAccess, hasEmailAccess) {

我的应用程序分为许多模块,我想让这些模块全部可用以显示友好的消息。

是否可以使此解析对象在所有路由和控制器中可用?

谢谢!

4

1 回答 1

0

$routeChangeStart只需在每次通过事件更改路由之前应用授权提供程序:

.run(['$rootScope', 'securityAuthorization',
    function($rootScope, securityAuthorization) {

        $rootScope.$on('$routeChangeStart', function(next, current) {
            securityAuthorization.requireAuthenticatedUser();
            securityAuthorization.requireSiteAccess();
            securityAuthorization.requireEmailAccess();
        });
    }
])

希望这可以帮助

于 2014-02-11T16:45:51.543 回答