如何在 JHipster 生成的代码中更改管理员用户名和密码?

How to change admin username and password in JHipster generated code?

我想更改我的 JHipster 代码中的管理员默认用户名和密码。如何设置新的?

我通常做的是 1) 运行 生成的应用程序, 2)以管理员身份登录(使用默认密码) 3) 从 'Password' 页面

更改管理员用户的密码

您可能不希望在您的源代码中使用真正的管理员密码,即使它不是纯文本。使用我上面建议的方法,您的新密码只能在您的数据库中访问(并且它将是非明文)

正如@jperis 在评论中所说,数据库的初始数据来自 src/main/resources/config/liquibase/users.csv(或 src/main/resources/config/mongeeze/users.xml,如果是 MongoDB),因此您需要更改管理员用户名和密码。

但是,密码存储在数据库中经过散列和加盐处理,因此没有简单的方法来手动生成新的有效密码记录。

解决方法是让 JHipster 按照@sdoxsee 的建议更新密码并从数据库中提取它们:

  1. 运行 生成的应用程序
  2. 以管理员身份登录
  3. 密码页面更改密码
  4. 访问数据库并复制更新后的密码
  5. 粘贴到 users.csv 替换管理员密码,可选择更改管理员用户名
  6. 类似地更改 system 用户密码并删除 user

更新

参见this JHipster password change utility proposal

您可以通过以下步骤change/initialize您的密码:

打开由 JHipster 生成的 UserServiceIntTest.java(或您项目中使用 @SpringBootTest 注释的任何其他测试),将以下内容添加到您的 XXXTest.java

import org.springframework.security.crypto.password.PasswordEncoder;
...
@Autowired
private PasswordEncoder passwordEncoder;

@Test
public void testPasswordEncoder() {
    // replace "Abcd1234" with your passord
    String hash = passwordEncoder.encode("Abcd1234");
    System.out.println(hash);
}

将生成的散列复制到 src/main/resources/config/liquibase/users.csv

的管理条目

编译并重启您的应用程序,现在您可以使用新密码登录了。

您可以按照以下步骤更改任何默认用户的凭据:

  1. 运行前后端应用
  2. 访问前端应用程序并使用您要更新其凭据的用户登录
  3. 导航到顶部菜单栏右上角“帐户”下拉菜单下的“密码”部分
  4. 更新您的密码
  5. 访问数据库并复制哈希密码字符串
  6. 在后端应用程序中,找到位于以下目录下的 users.csv 文件:src/main/resources/config/liquibase/data/users.csv
  7. 将复制的散列密码字符串替换为文件中针对您刚刚更改其密码的特定用户的密码字符串