角度5授权警卫导航

时间:2018-07-30 06:20:42

标签: angular auth-guard

当我尝试实现导航问题时,我的应用程序在没有身份验证保护的情况下可以正常运行。 问题是身份验证防护正在通过条件(使用console.log测试)。网址已更改为/ prpage,但viewport仍与我看到/ formpage的内容并没有正确导航至该页面(/ prpage)的位置相同。

app-router.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 });
}

0 个答案:

没有答案