为什么Spring Security 6中没有为控制台生成默认密码?

问题描述 投票:0回答:1

我创建了以下由 Spring Security 6 保护的 API 端点。

@Controller
public class HelloController {
    @GetMapping("/")
    public String hello() {
        return "index";
    }
}

依赖关系如下所示。

<dependencies>
    <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>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-springsecurity6</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-test</artifactId>
    <scope>test</scope>
    </dependency>
</dependencies>

我还没有定义

SecurityConfig
类或
UserDetails
对象。我只想使用 Spring Security 生成的默认用户名
user
和默认密码。但是,当我启动该应用程序时,没有生成默认密码。需要什么配置吗

enter image description here

spring-security passwords
1个回答
0
投票

从 Spring Boot 3.2.2 开始,您必须在

application-yaml
中配置名称和密码,请参阅 Spring Boot 3.2 发行说明

自动配置用户详细信息服务

InMemoryUserDetailsManager
spring-security-oauth2-client
spring-security-oauth2-resource-server
中的一个或多个位于类路径上时,自动配置的
spring-security-saml2-service-provider
现在会退出,并且从 3.2.2 开始,
spring.security.user.name
spring.security.user.password
均未配置。同样,在反应式应用程序中,当
MapReactiveUserDetailsService
spring-security-oauth2-client
中的一个或多个是类路径之一时,自动配置的
spring-security-oauth2-resource-server
现在会退出,并且从 3.2.2 开始,
spring.security.user.name
spring.security.user.password
均未配置.

如果您正在使用上述依赖项之一,但在应用程序中仍需要 InMemoryUserDetailsManager 或 MapReactiveUserDetailsService,请在应用程序中定义所需的 bean,或者使用 Spring Boot 3.2.2 及更高版本,配置 spring.security.user 之一或两者。名称和 spring.security.user.password。

© www.soinside.com 2019 - 2024. All rights reserved.