我已经成功实现了安全认证功能,基本上如果用户未登录,我会重定向到登录路由。
如果用户访问/items 时没有登录,我目前会将其重定向到登录视图,但是一旦成功登录后,我需要将用户重定向回原始访问地址,即/items。 我目前正在执行此操作。
如果我不能通过某种方式传递原始URL或存储它,那么一旦登录成功,我将不知道要将用户发送到哪里。
很乐意听取任何反馈。
谢谢。
这一部分很好用,但是我想知道是否有人做类似的事情,一旦重定向到登录页面,我希望他们在验证后回到原始页面。 Asp.net MVC使用查询字符串上的returnUrl来实现此操作,但我认为这太丑陋了。
所以我就有了...
/items // this show my items..
/login // this is the login view.
如果用户访问/items 时没有登录,我目前会将其重定向到登录视图,但是一旦成功登录后,我需要将用户重定向回原始访问地址,即/items。 我目前正在执行此操作。
$rootScope.$on("$routeChangeStart", function ( next, current) {
if (!authentication.getIsLoggedIn())
$location.path('/login');
});
如果我不能通过某种方式传递原始URL或存储它,那么一旦登录成功,我将不知道要将用户发送到哪里。
很乐意听取任何反馈。
谢谢。
$routeChangeStart
的监控已经很接近了,为什么不将next
值存储起来,在用户完成登录后再重定向到该值呢? - Mark Meyer