【发布时间】:2015-11-04 15:01:55
【问题描述】:
我想在我的 JHipster 代码中更改管理员默认用户名和密码。如何设置一个新的?
【问题讨论】:
标签: spring-boot jhipster
我想在我的 JHipster 代码中更改管理员默认用户名和密码。如何设置一个新的?
【问题讨论】:
标签: spring-boot jhipster
我通常做的是 1)运行生成的应用程序, 2)以管理员身份登录(使用默认密码) 3) 从“密码”页面更改管理员用户的密码
即使不是纯文本,您也可能不希望您的源代码中有真正的管理员密码。使用我上面建议的方法,您的新密码只能在您的数据库中访问(并且它将是非明文)
【讨论】:
正如@jperis 在 cmets 中所说,数据库的初始数据来自 src/main/resources/config/liquibase/users.csv(或 src/main/resources/config/mongeeze/users.xml,如果是 MongoDB),因此您需要在那里更改管理员用户名和密码。
但是,密码在数据库中存储为散列和加盐,因此没有简单的方法可以手动生成新的有效密码记录。
解决方法是让 JHipster 按照@sdoxsee 的建议更新密码并从数据库中提取它们:
users.csv 替换管理员密码,可选择更改管理员用户名system用户密码并删除user行更新
【讨论】:
您可以通过以下步骤更改/初始化您的密码:
打开由 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 的管理员条目
编译并重新启动您的应用程序,现在您可以使用新密码登录了。
【讨论】:
您可以按照以下步骤更改任何默认用户的凭据:
src/main/resources/config/liquibase/data/users.csv
【讨论】: