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

时间:2017-08-07 22:54:09

标签: java spring spring-boot

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

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

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

5 个答案:

答案 0 :(得分:10)

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

security.user.name=user # Default user name.

security.user.password= # Password

security.user.role= # A comma separated list of roles

这是documentation

答案 1 :(得分:5)

这是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;
    }
}

答案 2 :(得分:4)

func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) { }

答案 3 :(得分:1)

application.properties

中添加以下属性
spring.security.user.name= user_name
spring.security.user.password= user_password

其中“ user_name”为用户,“ user_password”为密码。

答案 4 :(得分:0)

这些不适用于旧版本的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