Spring Security中withDefaults()方法的作用及示例使用效果问询
解析Spring Security中Customizer.withDefaults()的作用
官方说明的通俗解释
Spring Security官方对Customizer.withDefaults()的定义是:
Returns a
Customizerthat does not alter the input argument.
翻译成大白话就是:这个方法返回的Customizer实例不会对传入的配置对象做任何修改,直白点说就是让对应的组件直接用Spring Security预设的默认配置,不用你额外自定义。
代码示例的实际效果
看你给出的这段配置代码:
@EnableWebSecurity @Configuration public class SecurityConfiguration { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf().disable() .authorizeHttpRequests((authz) -> authz.anyRequest().authenticated()) .httpBasic(withDefaults()); return http.build(); } }
这段代码的实际作用是:
- 关闭CSRF防护机制;
- 强制所有请求必须经过用户认证才能访问;
- 启用默认配置的HTTP Basic认证——也就是用Spring Security自带的HTTP Basic逻辑处理认证,比如默认的登录弹窗、默认的认证失败响应格式等,不需要你再对HTTP Basic的规则做额外定制。
内容的提问来源于stack exchange,提问作者sonic boom
相关产品推荐
相关产品推荐

