Angular 2 authguard相对重定向
发布时间:2020-12-17 18:05:56 所属栏目:安全 来源:网络整理
导读:有没有办法在authguard中使用相对路径模式重定向? 我试过了 @Injectable()export class ServerAuthGuard implements CanActivate { constructor(private _router: Router,private _route: ActivatedRoute) { } canActivate(route: ActivatedRouteSnapshot):
有没有办法在authguard中使用相对路径模式重定向?
我试过了 @Injectable() export class ServerAuthGuard implements CanActivate { constructor(private _router: Router,private _route: ActivatedRoute) { } canActivate(route: ActivatedRouteSnapshot): boolean { this._router.navigate(['../../servers/'],{relativeTo: this._route}); return false; } } 应该从/ projects / 2 / servers / 71重定向到/ projects / 2 / servers /但是它总是将它重定向到/ servers(当我在组件中执行相同操作时它工作正常). 解决方法
relativeTo也应该接受ActivatedRouteSnapshot,看起来这可能被忽略了,同时这里有一个解决方法:
canActivate( next: ActivatedRouteSnapshot,state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean { // if(...) { const segments = state.url.split('/'); segments.pop(); segments.shift(); this.router.navigate(segments); // } else { // return true; // } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |