EDIT x2Угловая маршрутизатор UI - Обещания и рекурсивный вопрос Перенаправление
В соответствии с Вашим предложением, я сделал много изменений.
Я сделал (я думаю?) Реальное обещание на этот раз, но имел несколько вопросов.
Что вы предложили не работал в какой-то момент для этого:
// If it is, return true
else {
console.log('Valid token');
return deferred.resolve(true);
}
}
// If there's no valid token, return false
else {
console.log('No token');
$localStorage.$reset();
$state.go('login');
return deferred.reject(false);
}
я должен был изменить это:
// If it is, return true
else {
console.log('Valid token');
deferred.resolve(true); // Removed "return"
}
}
// If there's no valid token, return false
else {
console.log('No token');
$localStorage.$reset();
$state.go('login');
deferred.reject(false); // Removed "return"
}
я, наконец, сделал это для переквалификации я ожидал теперь мое обещание работы ...
// Watching login page
$transitions.onStart({to: 'login'}, function (trans) {
// Injecting the authentication service
var auth = trans.injector().get('AuthService');
// returning the promise with handlers
return auth.isAuthenticated().then(function (res) {
// If the token is valid, redirect to the dashboard
return trans.router.stateService.target('dashboard.home');
}, function(e) {
// If the token is invalid or missing, keep the login page
return trans.router.stateService.target;
});
});
// Watching the dashboard private page
$transitions.onStart({to: 'dashboard.**'}, function (trans) {
// Injecting the authentication service
var auth = trans.injector().get('AuthService');
// returning the promise with handlers
return auth.isAuthenticated().then(function (res) {
// If the user is correctly identified, do nothing
return trans.router.stateService.target;
}, function (e) {
// If the token is invalid or missing, deleting datas
$localStorage.$reset();
// Setting error message
$localStorage.loginError = {'token_expired': true};
// Redirecting to the login page
return trans.router.stateService.target('login');
})
});
вы должны попытаться использовать «решительность» с государственным (UI Router), в котором вы будете фактически аутентификациями пользователя перед входом в это состояние. В вышеприведенном коде вы не возвращаете обещание. –
Hi Shaiilendra, я немного смущен версией этого бета-версии 1.0 beta 2, я считаю, что новая система Transition немного сложна ... У вас есть какой-то пример, чтобы помочь мне справиться с этим? Фактически мой логин работает нормально. Проверка и обновление токена в порядке. Моя проблема заключается в том, что я хочу, чтобы люди не обращались к панели мониторинга, если не прошли аутентификацию, и разрешали им получать доступ напрямую, если у них все еще есть возобновляемый токен на панели мониторинга без входа в систему. Вот где это не получается. Если я использую только первый (пользователь delog), все в порядке. Если я положил два, я займусь бесконечным циклом и не могу понять, почему! –