0

当我尝试实现导航问题的安全性时,我的应用程序在没有身份验证保护的情况下运行良好。问题是 auth guard 正在通过条件(使用 console.log 测试)。url 正在更改为 /prpage 但是viewport 仍然保留在我看到 /formpage 的内容并且没有正确导航到该页面(/prpage)的位置。

应用路由器.module.ts

{
   path: 'prpage', 
   component: PrPageComponent,
   canActivate: [AuthGuard] 
 }

auth.guard.ts

canActivate(
    next: ActivatedRouteSnapshot,
    state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
   if (this.userService.id) {
    console.log("pass");
      return true;
    }
this.router.navigate(['/register'], { relativeTo: this.route });
      console.log("fail");
      return false;
  }
}

form.component.ts

if(response.name!==null){
 this.router.navigate(['/prpage'], { relativeTo: this.route });
}
4

0 回答 0