临时密码每次程序启动就会生成一个,这样显然很不方便,用户名我们也想自己定义而不是用系统默认的,这时候就需要对用户名密码重新进行配置了,这里先记录一下最简单的修改方式。
这种简单的方式便是在配置文件中配置用户名密码如下:
spring.security.user.name=lcg
spring.security.user.password=123
至于为什么如此配置,通过SecurityProperties源码我们可以看出
@ConfigurationProperties(prefix = "spring.security")
public class SecurityProperties {
//通过配置文件配置user,则需要 pring.security.user
private final User user = new User();
而要配置user里的用户名则要:
spring.security.user.name
配置密码则要:
spring.security.user.password
另外在在 properties 中定义的用户名密码最终是通过 set 方法注入到属性中去的,这里我们顺便来看下 SecurityProperties.User#setName 和 setPassword 方法:
public void setName(String name) {
this.name = name;
}
public void setPassword(String password) {
//判断password是否为空
if (!StringUtils.hasLength(password)) {
// 如果为空直接返回
return;
}
//不为空,则passwordGenerated为false,这就导致不会在控制台打印密码
this.passwordGenerated = false;
//不为空,密码重新覆盖
this.password = password;
}
setName没有特别的处理,只是setPassword,对passwordGenerated和password都重新赋值
此时我们再启动项目就要用配置文件中的用户名密码了。