[英]httpBasic() .disable() is not working spring boot 2.6.12
我正在尝试创建一个资源服务器 oauth2 令牌验证,它按预期工作,但我也默认启用了 HTTP 基本功能,这不是预期的行为,因为我已将其配置为禁用:这是我的代码:
@Configuration
@EnableWebSecurity
public class SecConfig{
@Value("${spring.security.oauth2.resourceserver.opaque.introspection-uri}")
String introspectionUri;
@Value("${spring.security.oauth2.resourceserver.opaque.introspection-client-id}")
String clientId;
@Value("${spring.security.oauth2.resourceserver.opaque.introspection-client-secret}")
String clientSecret;
private static final String[] WHITE_LIST_URLS = {
"/v3/api-docs/**",
"/swagger-ui/**",
"/doc"
};
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
// @formatter:off
http
.httpBasic()
.disable()
.authorizeHttpRequests((authorize) -> authorize
.antMatchers(WHITE_LIST_URLS).permitAll()
.anyRequest().authenticated()
)
.oauth2ResourceServer((oauth2) -> oauth2
.opaqueToken((opaque) -> opaque
.introspectionUri(this.introspectionUri)
.introspectionClientCredentials(this.clientId, this.clientSecret)
)
)
;
return http.build();
}
}
我也尝试过使用下面的方法禁用自动配置,但没有用,spring 启动仍然自动配置它,即使我排除了它!!!
@SpringBootApplication(exclude = { SecurityAutoConfiguration.class})
重要的是要提到我的应用程序非常简单,仅使用 spring 数据和 spring 安全性和 openapi 来招摇!
本文暂无回复,试试以下方法:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.