我正在使用 JHipster 代码生成器编写一个 Web 应用程序。 我创建了 2 个额外 Angular 色,现在总共有 5 个:
ROLE_USER, ROLE_ADMIN, ROLE_ANONYMOUS, ROLE_PRESIDENT, ROLE_VICE_PRESIDENT
我想知道如何管理他们的权限以显示一些REST。
例如,我想让PRESIDENT向数据库添加新用户,其他简单用户不应该看到执行该工作的 Web 服务。
是否有一个我错误忽略的文件可以帮助我实现此功能?
感谢您宝贵的时间提供建议,
曼努埃尔
最佳答案
给JHipster添加新 Angular 色需要在2个地方添加。
最明显的是 AngularJS 前端。要将新 Angular 色添加到用户编辑 View ,请将它们添加到 vm.authorities = ['ROLE_USER', 'ROLE_ADMIN']
要在 UI 中的不同位置强制执行 Angular 色,您可以将 Angular 色添加到状态 JS 文件中。只需将它们添加到 data.authorities
(检查 user-management.state.js)
如果您希望模板 block 仅在用户具有适当 Angular 色时可见,请查看 hasAnyAuthority
指令。
另一部分是保护后端。如果使用当前的 JHipster 版本和 SQL 数据库,权限将存储在数据库中。将您的自定义 Angular 色添加到 liquibase 迁移的 authorities.csv
中。
最后但并非最不重要的一点是,您可以在 WebSecurityConfiguration
或 MicroserviceSecurityConfiguration
中强制执行 Angular 色(只需查看现有的 antMatchers)
关于javascript - 我如何管理 jhipster 当局的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44630896/