【发布时间】:2018-10-08 04:14:10
【问题描述】:
我想在 Angular 应用程序中获取用户角色,但在我的情况下,它的代码不起作用
export const appRoutes: Routes [{path:'home',component:HomeComponentcanActivate: [AuthGuard] }, { path: 'admin',component: AdminPanelComponent, canActivate: [AuthGuard], data: {roles: ['SuperAdmin']}},
我想为管理员获取角色,因为其他用户将无法访问管理组件这里是我的身份验证保护代码
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): boolean {
if (sessionStorage.getItem('userToken') != null) {
debugger
let roles = next.data['roles'] as Array<string>;
console.log(next.data['roles']);
if (roles) {
var match = this.userService.roleMatch(roles);
if (match) {
return true;
} else {
this.router.navigate(['/forbiden']);
}
}
} else {
this.router.navigate(['/signin']);
return false;
}}
未定义的赋予角色未进入 IF 条件
【问题讨论】:
标签: angular typescript asp.net-web-api angular2-routing angular5