You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Security 6为何未在控制台生成默认密码?

问题分析与解决

你遇到的情况是因为引入了spring-boot-starter-oauth2-client和spring-boot-starter-oauth2-resource-server依赖后,Spring Boot的Security自动配置逻辑发生了变化——默认的内存用户(user+自动生成密码)的自动配置会被覆盖,所以启动时不会再生成默认密码。

解决办法

方法1:移除不需要的OAuth2依赖(如果用不到OAuth2功能)

如果你不需要OAuth2客户端或资源服务器的功能,直接删除这两个依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>

重启应用后,Spring Security会自动启用默认的内存用户配置,控制台会输出生成的默认密码。

方法2:手动配置默认用户(保留OAuth2依赖的情况下)

如果需要保留OAuth2相关依赖,但仍想使用简单的用户名密码认证,有两种方式:

方式A:通过配置文件指定

在application.properties或application.yml中添加以下配置:

spring.security.user.name=user
spring.security.user.password=your-custom-password

这样Spring Boot会基于这些配置创建内存用户,启动时就不会自动生成随机密码了。

方式B:自定义Security配置类

创建一个Security配置类,手动配置内存用户:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;

@Configuration
public class SecurityConfig {

    @Bean
    public UserDetailsService userDetailsService() {
        UserDetails user = User.withUsername("user")
                .password(passwordEncoder().encode("your-password"))
                .roles("USER")
                .build();
        return new InMemoryUserDetailsManager(user);
    }

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
}

这样既保留了OAuth2依赖,又能使用自定义的内存用户认证。


内容的提问来源于stack exchange,提问作者190303458

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 00:59:58