我为我的应用实施了身份验证系统。我使用$routeChangeStart
(在运行中)检查用户是否已登录,如果没有,则将其重定向到登录。这很好用。但是,我可以通过网址访问登录页面,如果他已经登录,我想将用户发送到仪表板。这样做的正确方法是什么?
答案 0 :(得分:1)
伙计们尝试这个优雅的解决方案:
.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");
}
});
})
答案 1 :(得分:0)
尝试
$rootScope.$on('$locationChangeStart', function(event, newUrl, oldUrl) {});