angularjs:[1] ui-router 权限控制

1:简单的登录检查

$stateProvider
        .state('index', {
            url: "/",
            templateUrl: 'views/forwards/intro.html',
            controller: 'ForwardsIntroCtrl',
            data: {
                loginCheck: false
            }
        })
        .state('account', {
            url: "/account",
            templateUrl: 'views/forwards/account.html',
            controller: 'ForwardsAccountCtrl',
            data: {
                loginCheck: true
            }
        })

配置参数:loginCheck(这里可以自定义)

 $rootScope.$on('$stateChangeStart', function(event, toState, toStateParams) {
            console.error(toState, toState.data.loginCheck);
            if (!$rootScope.logined && toState.data.loginCheck) {
                console.error('not login!');
                $location.path('/')
            }
        });

根据某个rootScope值和loginCheck判断是否登录

2:角色检查

可以参考:http://stackoverflow.com/questions/22537311/angular-ui-router-login-authentication

原理大概是一样的。

原文地址:https://www.cnblogs.com/xnlc/p/4930099.html