首页 > 解决方案 > Jhipster 基于动态角色的身份验证

问题描述

我对java很陌生。我使用 jhipster 生成了一个应用程序。它从后面的代码中为您提供基于角色的身份验证。如果我想添加新角色,我需要从后面的代码中添加。但我对通过 UI 进行基于动态角色的身份验证感兴趣。你能告诉我怎么做吗?任何参考都会有所帮助。提前致谢!

标签: jhipster

解决方案


  1. 管理用户角色

如果您只想管理用户角色(无论角色来自何处),那么您可以使用 Administration > User Management > Edit User 功能来选择角色。请注意,实际角色来自/api/user/authorities,它从数据源请求角色。

  1. 管理角色

由于它Authority是一个具有存储库的实体,因此默认情况下可以创建任意数量的角色。关键是,JHipster 默认情况下不提供来自 UI 和 API 的此类管理。您可以采取以下步骤来实现这一点:

  • 修改其中并authority.csvsrc/main/resources/config/liquibase/data那里添加您的自定义角色,以便在数据库创建期间创建它们。这很简单,但不能启用动态管理
  • 类似于通常的实体管理,或者用户管理,创建一个新@RestController的,/api/authorities并允许创建,删除更新等。然后,添加一个新的权限管理模块,包含所有部分,例如列表视图,详细视图,更新对话框,服务等。这涉及几个手动步骤,但是您已经有很多示例代码。有了这个,您可以动态管理应用程序中的角色,并且在 中1,新角色应该可用于添加到用户

在这两种情况下,JHipster 生成的代码在为登录的用户创建会话时都会尊重用户与权限的关系。希望这会有所帮助


推荐阅读