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