jhipster-如何添加新角色

时间:2014-12-02 03:23:41

标签: java jhipster

我正在尝试在使用JHipster生成的项目上添加新角色(ROLE_REPORTS)。我可以看到需要更新的表(角色,权限和role_authority映射),但我不知道如何去处理它的Java部分。

我可以想出一些零碎的东西,但我担心我的定制可能会破坏一些设计理念(如Swagger API,Spring Security等)。

是否有人已经尝试过,如果是这样,任何正确方向的帮助都将受到高度赞赏。

5 个答案:

答案 0 :(得分:24)

将其添加到security / AuthoritiesConstants.java。和webapps / scripts / contstants.js。在下面的示例中,添加了MANAGER的权限/角色。

public final class AuthoritiesConstants {

    private AuthoritiesConstants() {
    }

    public static final String ADMIN = "ROLE_ADMIN";

    public static final String USER = "ROLE_USER";

    public static final String MANAGER = "ROLE_MANAGER";

    public static final String ANONYMOUS = "ROLE_ANONYMOUS";
}

在constants.js中:

myApp.constant('USER_ROLES', {
        'all': '*',
        'admin': 'ROLE_ADMIN',
        'user': 'ROLE_USER',
        'manager', 'ROLE_MANAGER'
    });

必须将新角色添加到数据库中。例如,authorities.csv:

name
ROLE_ADMIN
ROLE_USER
ROLE_MANAGER

答案 1 :(得分:3)

这在4.5.5

中会更容易

1-修改AuthoritiesConstants.java

2-在authority.csv文件中添加新角色

重新运行应用程序,新角色应出现在界面中(管理/用户管理/创建新用户)(也许删除应用中的target \ h2db \ db内容会很有用)

答案 2 :(得分:2)

对于Jhipter 4.3,有这个解决方案:

  1. 修改AuthoritiesConstants.java
  2. 在authorities.csv文件中添加新角色
  3. 通过包含新角色
  4. 更新表JHI_AUTHORITY
  5. 修改位于此处的user-management-dialog-component.ts \ webapp \ app \ admin \ user-management
  6. 重新运行该应用程序。新角色应出现在界面中(管理/用户管理/创建新用户)。 (也许删除应用中的target \ h2db \ db内容会很有用。)

答案 3 :(得分:0)

将值添加到Authority.csv不会将这些值直接添加到表中,因为这只是添加到表中的值,因此Liquibase更改没有差异,我们将不得不手动将其添加到数据库中。

答案 4 :(得分:0)

编辑security / AuthoritiesConstants.java之后。您可以添加新的liquibase更改日志并添加新的app_authorities.csv。如下

Image showing how to do

我的app_authorities.csv看起来像这样。

name
ROLE_VENDOR