У меня есть приложение, в котором каждая страница, кроме входа, требует аутентификации. Я делаю это, проверяя $ stateChangeStart и затем перенаправляя/login, когда токен не установлен. при начальной загрузке приложения это работает нормально, но на экране входа в систему, если я набираю еще один «ограниченный» URL-адрес. Он выполняет проверку, изменяет URL-адрес, но все еще загружает ограниченную страницу. Что мне здесь не хватает?Проблема с перенаправлением аутентификации Angularjs
//app.run:
app.lazy = $couchPotato;
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
$rootScope.$on('$stateChangeStart', function(event, toState, toStateParams) {
console.log("state changed to "+toState.name);
console.log(toState);
Authentication.validateLogin(toState, toStateParams);
});
Authentication.validateLogin:
validateLogin:function(toState, toStateParams){
$rootScope.toState = toState;
$rootScope.toStateParams = toStateParams;
if ($localStorage.token == null) {
console.error("Not Authenticated!");
$location.url('/login');
}
}
Вы можете попытаться перенаправить с помощью '$ window.location.href'? –
Ничего не изменил –