Spring Security:如何更改默认用户和密码?
Posted
技术标签:
【中文标题】Spring Security:如何更改默认用户和密码?【英文标题】:Spring Security: How to change default user and password? 【发布时间】:2018-01-15 08:16:35 【问题描述】:我的 pom.xml 中有 Spring Security,Spring Security 自动配置了默认用户和生成的密码:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
如何更改默认用户和密码?
【问题讨论】:
假设这个post 可能会有所帮助,并为您的期望提供解决方案。 What is username and password when starting Spring Boot with Tomcat?的可能重复 【参考方案1】:这是straight from the docs:
创建一个配置类:
@Configuration
@EnableWebSecurity
public class HelloWebSecurityConfiguration
extends WebSecurityConfigurerAdapter
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth)
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
Newer Docs
这有点不同,但效果是一样的:
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
@Bean
public UserDetailsService userDetailsService() throws Exception
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
manager.createUser(User.withUsername("user").password("password").roles("USER").build());
return manager;
【讨论】:
2013 年 7 月 3 日旧文档:'( 我刚刚用 1.5.6 成功地做到了。【参考方案2】:这可以在您的 application.properties
文件中轻松完成:
spring.security.user.name=user # Default user name.
spring.security.user.password= # Password
spring.security.user.role= # A comma separated list of roles
这里是documentation。
【讨论】:
这在使用Spring Boot 2.2.2.RELEASE
和安全依赖时不起作用,我们需要实现configure(...)
并扩展WebSecurityConfigurerAdapter
【参考方案3】:
#add these lines in application.properties
spring.security.user.name=username
spring.security.user.password=password
【讨论】:
【参考方案4】:在application.properties
中添加以下属性
spring.security.user.name= user_name
spring.security.user.password= user_password
其中“user_name
”是用户,“user_password
”是密码。
【讨论】:
【参考方案5】:这些不适用于旧版本的 spring boot,我使用的是 1.5.11.RELEASE 并且这些属性不起作用,移动到 2.1.8.RELEASE 后,这些属性可以正常工作。
检查你的 pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
spring.security.user.name=username
spring.security.user.password=password
【讨论】:
以上是关于Spring Security:如何更改默认用户和密码?的主要内容,如果未能解决你的问题,请参考以下文章
作为管理员,如何使用 Grails Spring Security 以编程方式更改用户密码?