【发布时间】:2017-08-06 05:03:51
【问题描述】:
我正在使用 JWT 对用户进行身份验证。我的 angular2 应用程序中的部分路由受 CanActivate Guard 保护,如果用户未登录,它将重定向到登录页面。现在我正在实现注销按钮并希望重定向到登录页面。我只想在当前路由对非登录用户不可见时重定向(例如帐户页面)。例如,如果用户在主页中,我不想重定向到登录页面。
如果我可以检查当前路线是否有警卫并在存在时触发该警卫,那将是完美的。有可能吗?
后卫:
public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
if (this.loginService.getCurrentUserName()) {
// logged in so return true
return true;
}
// not logged in so redirect to login page with the return url
this.router.navigate(['/login'], { queryParams: { returnUrl: state.url }});
return false;
}
【问题讨论】: