角度权限,每个角色的重定向

时间:2016-02-17 15:53:24

标签: angularjs user-permissions

我正在使用angular-permission并尝试根据用户的角色重定向用户。

我正在尝试制作类似的东西,但是我无法在app.config中注入rootScope来获取用户:

redirectTo: function(){  
   if($rootScope.isAdmin){

   }
   else{

   }                      
   return 'login';
}

这里是app.js文件中的配置部分

.config(['$stateProvider', '$locationProvider', '$datepickerProvider', '$timepickerProvider', 'RestangularProvider', '$httpProvider', '$scrollspyProvider', function ($stateProvider, $locationProvider, $datepickerProvider, $timepickerProvider, Restangular, $httpProvider, $scrollspyProvider) {
    $stateProvider
        .state('test', {
            url: '/test',
            templateUrl: "/test.html",
            data: {
                title: 'test',
                pageTitle: 'test',
                access: 'authenticated',
                permissions: {
                    only: ['admin'],
                    redirectTo: function(){
                        //////////////////////////////////
                    }
                }
            }
        })
}])

有不同的方法吗?

1 个答案:

答案 0 :(得分:2)

没有看到你的app.config - 我可以告诉你,最好的地方可能在app.run而不是app.config

app.run(['$rootScope', function($rootScope){
// stuff
}]);

以下是确认您无法在.config中使用$ rootScope的来源。只在.run。 https://stackoverflow.com/a/10489658/1543447