我在 Angular2 中创建了一个身份验证管理器来直接限制组件访问。我对角度和学习概念仍然很陌生。
如果用户名不正确,我可以限制用户。但我无法使用组件中的 canActivate 方法返回的值在前端显示消息。
我的 AuthManager 类
import { Injectable } from '@angular/core';
import { CanActivate,Router,ActivatedRouteSnapshot,RouterStateSnapshot } from '@angular/router';
@Injectable()
export class AuthManager implements CanActivate{
user = "user";
constructor(private router:Router){
}
canActivate(route:ActivatedRouteSnapshot,state:RouterStateSnapshot){
console.log("Comes Here");
if(this.user == "user"){
return true;
}else{
console.log("YOur are not authorized");
this.router.navigate(['/persons']);
return false;
}
}
}
我可以看到您未在日志中授权,但如何在组件中使用该值。
我的 app.router.ts
{
path: 'persons/:id',
component: PersonDetailComponent,
canActivate:[AuthManager]
}