【问题标题】:How to create a new Authority in jHipster?如何在 jHipster 中创建一个新的权威?
【发布时间】:2018-05-18 16:52:33
【问题描述】:

我想知道是否可以在 Jhispter 中创建一个新的权威。我尝试添加 ROLE_WRITER:

/project/src/main/java/location/security/AuthoritiesConstants.java

package location.security;

/**
 * Constants for Spring Security authorities.
 */
public final class AuthoritiesConstants {

    public static final String ADMIN = "ROLE_ADMIN";

    public static final String USER = "ROLE_USER";

    public static final String WRITER = "ROLE_WRITER";

    public static final String ANONYMOUS = "ROLE_ANONYMOUS";

    private AuthoritiesConstants() {
    }
}

当我运行应用程序时,它没有崩溃,但是当我尝试更改配置文件中的 localhost:9000/#/user-management ROLE 时,它没有为我提供选项。

所以我去了数据库并在 JHI_AUTHORITY 表中添加了一个新的 ROLE,现在它出现在用户管理中,但我觉得如果我弄乱了用户实体,我会遇到麻烦。

  • 有官方的方法吗? (我不知道)
  • 这样做有什么危险吗?
  • 我还有什么需要考虑的吗?

谢谢

【问题讨论】:

    标签: jhipster


    【解决方案1】:

    有官方的方法吗? (我不知道)

    你见过src/main/resources/liquibase/authorities.csv吗?我认为这是在生产前添加新权限的正确位置,当您处于生产阶段时,建议将您的更改(插入)添加为 liquibase 更改集。

    这样做有什么危险吗?

    AFAIK 新角色将像 Spring 安全上下文中的其他现有角色一样工作。说了我可能误解了你的问题。

    我还有什么需要考虑的吗?

    自动化,此类手动更改会导致生产或新安装出现功能障碍,因此我们需要针对这两种情况将此类更改自动化。

    【讨论】:

    • 非常感谢席德!!!我没有看到 /rarotest-1a/src/main/resources/config/liquibase/authorities.csv 文件。如果我在 CSV 中添加它,它会在运行项目时自动添加到数据库中吗?我所说的危险是指以后会出现什么问题?可能导致哪些类型的功能障碍?
    • @Mike 注意authorities.csv00000000000000_initial_schema.xml 触发,因此在新数据库中一切正常,但不是那些已经应用初始模式的数据库。关于添加新角色,我没有发现任何问题。稍后您可能会注意到,例如安全配置中的顺序问题,例如.antMatchers("/api/onlyWriters/**").hasAuthority(AuthoritiesConstants.WRITER) 需要在.antMatchers("/api/**").authenticated() 行以上等,无论如何都需要您进行测试。干杯!
    【解决方案2】:

    虽然已经回答了这个问题,但我认为在JHipster的官方网站上发布一个相关提示的链接是一个好主意:

    https://www.jhipster.tech/tips/025_tip_create_new_authority.html

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,我在 src/main/resources/config/application-dev.yml 中添加了 drop-first: true 参数:

      ....
      
          liquibase:
                  contexts: dev
                  drop-first: true
      
      ....
      

      好像是一个重新生成数据库的参数(开发模式)。

      【讨论】:

        猜你喜欢
        • 2021-09-22
        • 1970-01-01
        • 2018-06-27
        • 2019-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多