当application.yml
中存在属性时,我想使用基本身份验证。当它们丢失时,我想允许所有请求。application.yml
个
spring:
security:
user:
name: user
password: changeit
身份验证配置
@Configuration
@EnableWebSecurity
public class BasicAuthConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.authorizeRequests(authorize -> authorize
.anyRequest().authenticated()
)
.httpBasic(Customizer.withDefaults());
http.cors().disable().csrf().disable();
return http.build();
}
}
这个很好用。
如果spring.security.user.name/password
属性丢失了,我希望不进行身份验证,我该怎么做呢?
1条答案
按热度按时间zpgglvta1#
使用Sping Boot 的
@ConditionalOnProperty
怎么样?您可以不使用Sping Boot 属性,而是建立自己的属性,以更明确地说明行为,如下所示:
然后你可以改变你的
@ConditionalOnProperty
来匹配这个属性,这样它就更能说明它在做什么。