在我的角度(4)应用程序中有几十个组件。
使用只能访问具有访问权限的。
一些组件使用参数检查授权。
有许多类型的访问授权或拒绝策略。
因此,我设想如何将CanActivate方法委托给每个组件,因为每个组件都是根据其用途检查访问的最佳位置。
我知道人们通常在服务中实现CanActivate,如下所示。
@Injectable()
export class AccessGuard implements CanActivate {
canActivate(route: ActivatedRouteSnapshot,
state: RouterStateSnapshot) {
route.component.canActivate(route, state); // <----- HERE
return true;
}
}现在我可以在第6行调用某个方法了吗?我希望对我的所有组件实现CanActivate,并让它们在该方法中拥有自己的保护登录。因此,我很容易地将保护逻辑放在组件的业务逻辑附近。
发布于 2018-01-26 14:14:51
1. For components and pages add router config for example {path: 'dashboard-page, component: DashboardComponent, canActivate: [AuthenticationGuard]},
我希望它能帮上忙
https://stackoverflow.com/questions/48115561
复制相似问题