在 Angular 6 应用程序中实现了 Auth 保护。实施不起作用。
认证卫士
export class AuthGuard implements CanActivate {
constructor(public manageAccountService: ManageAccountService, public myRoute: Router) {}
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): boolean {
this.manageAccountService.getAccounts().subscribe(
(res) => {
if (res.d.Status == 0) {
this.myRoute.navigate([next.url[0].path.toString()]);
return true;
}
else {
window.location.href = environment.LOGIN_URL;
}
}
);
return false;
}
}
预期结果 重定向到 next.url
实际结果manageAccountService.getAccounts()
多次
卡在循环发送请求中