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
原理大概是一样的。