我已经按角度实现了AuthGuard
。该代码使用组件名称进行验证:
export class AuthGuard implements CanActivate {
constructor(private permissionService: PermissionService, private router: Router) {}
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
let component = next.component;
let componentName = component["name"];
let params = next.params;
return this.permissionService.checkPermission( componentName, params);
}
}
此代码可在ng serve
测试中使用。但是,当在Web服务器中构建和部署应用程序时,component["name"]
不是原始组件名称,而是jung。
对这个问题有任何想法吗?谢谢。