0
我已經爲我的應用程序實現了一個身份驗證系統。我使用$routeChangeStart
(在運行中)檢查用戶是否已登錄,如果沒有,則將其重定向到登錄。這工作正常。但是,我可以通過url訪問登錄頁面,如果他已經登錄,我想將用戶發送到儀表板。有什麼方法可以做到這一點?AngularJs - 跳過登錄頁面,如果已經登錄
我已經爲我的應用程序實現了一個身份驗證系統。我使用$routeChangeStart
(在運行中)檢查用戶是否已登錄,如果沒有,則將其重定向到登錄。這工作正常。但是,我可以通過url訪問登錄頁面,如果他已經登錄,我想將用戶發送到儀表板。有什麼方法可以做到這一點?AngularJs - 跳過登錄頁面,如果已經登錄
嘗試
$rootScope.$on('$locationChangeStart', function(event, newUrl, oldUrl) {});
傢伙試試這個優雅的解決方案:
.run(function ($rootScope, $location, authService) {
$rootScope.$on('$stateChangeStart', function (ev, to, toParams, from, fromParams) {
if (to.requireAuth && !authService.isAuthed()) {
$location.path("/login");
}
else if (to.name == 'login' && authService.isAuthed()) {
ev.preventDefault();
$location.path("/dashboard");
}
});
})
檢查,如果用戶已經登錄了$ routeChangeStart內,如有必要 – originof 2014-09-24 08:33:30
我已經使用重定向吧!但是,如何檢查我是否正在加載登錄頁面? – 2014-09-24 08:34:46
好的,$ locationChangeStart的作品,謝謝!但是,如果這是做我正在嘗試的標準方式? – 2014-09-24 08:49:42