Spring Security:如何更改默认用户和密码?

ahm*_*ess 5 java spring spring-boot

我的pom.xml中有Spring Security,Spring Security自动配置了默认用户和生成的密码:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

如何更改默认用户和密码?

Jua*_*oza 13

这可以在您的application.properties文件中轻松完成:

application.properties

application.properties

application.properties

这是文档.

  • 当使用“Spring Boot 2.2.2.RELEASE”和安全依赖项时,这不起作用,我们需要实现“configure(...)”并扩展“WebSecurityConfigurerAdapter” (2认同)

Bri*_*ian 5

这是直接从文档

创建一个配置类:

@Configuration
@EnableWebSecurity
public class HelloWebSecurityConfiguration
   extends WebSecurityConfigurerAdapter {

  @Autowired
  public void configureGlobal(AuthenticationManagerBuilder auth) {
    auth
      .inMemoryAuthentication()
        .withUser("user").password("password").roles("USER");
  }
}
Run Code Online (Sandbox Code Playgroud)

较新的文档

这稍有不同,但是效果是相同的:

@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;
    }
}
Run Code Online (Sandbox Code Playgroud)


小智 5

#add these lines in application.properties
    spring.security.user.name=username
    spring.security.user.password=password
Run Code Online (Sandbox Code Playgroud)