0
在我的應用程序中,我需要檢查用戶的詳細信息,如果用戶沒有登錄,那麼我需要重定向回/login
頁面。但我的嘗試不工作,我應該在哪裏做這個配置?
我嘗試:
(function(){
"use strict";
angular.module('meanOffice')
.config(routeConfig)
.run(stateController);
function routeConfig($locationProvider, $stateProvider, $urlRouterProvider){
$stateProvider
.state('login', {
url:'/',
templateUrl : 'app/views/pages/login/login.html',
controller : 'mainController as main'
})
.state('users', {
url:'/users',
templateUrl : 'app/views/pages/users/users.html',
controller : 'usersController as users',
required : true,
resolve : {
usersData : function(){
return "Arif";
}
}
})
$urlRouterProvider.otherwise('/');
}
function stateController($rootScope, auth, authToken){
$rootScope.$on('$routeChangeStart', function(){
var isLoggedIn = auth.isLoggedIn();
//but each time the route change, this is not called..!?
if(!isLoggedIn)
$location.path('/');
});
}
})();
得到任何錯誤?又該auth.isLoggedIn()返回? –
它根據值返回true或false。但即使我沒有觸發'routeChageStart'在所有,每次 – user2024080
好嗎你確定狀態控制器函數沒有調用?如果你確實嘗試使這個運行方法的方法在接受的答案中提到http:///stackoverflow.com/questions/20969835/angularjs-login-and-authentication-in-each-route-and-controller –