如何根据用户角色/权限来管理菜单

byt*_*0de 5 web-applications menu user-permissions typescript angular

我已经开始了一个新的角度项目,在我的应用程序中有3种类型的用户(管理员,客户和公司)。如何限制客户访问管理员用户菜单?

ale*_*nko 5

您可以使用ngx-permissions库。它支持延迟加载、隔离延迟加载、then else 语法。加载库

@NgModule({

 imports: [

 NgxPermissionsModule.forRoot()
],
providers: [],
bootstrap: [AppComponent]
})
Run Code Online (Sandbox Code Playgroud)

加载角色

this.ngxRolesService.addRole('GUEST', () => {
  return true;
}); 
Run Code Online (Sandbox Code Playgroud)

安全root

const appRoutes: Routes = [
{ path: 'home',
    component: HomeComponent,
    canActivate: [NgxPermissionsGuard],
    data: {
      permissions: {
        only: 'GUEST'
      }
    }
  },
];
Run Code Online (Sandbox Code Playgroud)

您可以在WIKI页面上找到详细文档


小智 3

您应该实现 ActivatedRoute 接口来限制导航到特定的 URL/资源, 阅读更多