WebSecurityConfigurerAdapter
时间: 2023-09-02 12:10:42 浏览: 49
WebSecurityConfigurerAdapter 是一个抽象类,用于配置 Spring Security 的 Web 安全性。它实现了 WebSecurityConfigurer 接口,并提供了一些默认的配置方法。[1]
其中,configure(WebSecurity web) 方法用于配置 WebSecurity,它是基于 Servlet Filter 来配置 springSecurityFilterChain。springSecurityFilterChain 又被委托给了 Spring Security 核心过滤器 Bean DelegatingFilterProxy。通常情况下,我们不会过多自定义 WebSecurity,而是使用 ignoring() 方法来忽略 Spring Security 对静态资源的控制。[2]
在 WebSecurityConfigurerAdapter 中,init(final WebSecurity web) 方法用于初始化 SecurityBuilder(在这里指的对象构建器就是 WebSecurity,将要构建的对象就是 Filter 对象)。在该方法中,并没有进行真正的配置工作,配置工作最终交由 config 方法完成。[3]
总之,WebSecurityConfigurerAdapter 是一个用于配置 Spring Security Web 安全性的抽象类,它提供了一些默认的配置方法,可以根据需要进行自定义配置。
相关问题
websecurityconfigureradapter
WebSecurityConfigurerAdapter是Spring Security的一个内置适配器,用于快速配置Web应用程序的安全性。它提供了很多的配置选项,例如身份验证、授权、CORS和CSRF保护等。使用它可以简化配置过程,减少编写重复代码的工作。
WebSecurityConfigurerAdapter代替
WebSecurityConfigurerAdapter可以用@Bean的方式注入,来代替直接继承WebSecurityConfigurerAdapter的方式。这样做的目的是避免同时出现WebSecurityConfigurerAdapter和SecurityFilterChain的异常报错。
具体来说,通过定义一个新的配置类,并在其中使用@Bean注解来创建一个自定义的SecurityFilterChain对象,可以实现WebSecurityConfigurerAdapter的替代功能。在创建SecurityFilterChain对象时,需要指定相关的安全配置。
另外,有人尝试给WebSecurityConfig添加@Order注解来指定加载顺序,但是并没有生效。这可能是由于缓存或其他原因造成的。所以,在替代WebSecurityConfigurerAdapter的时候,我们不必使用@Order注解来指定加载顺序。
总结起来,通过使用@Bean注解来创建自定义的SecurityFilterChain对象,可以代替直接继承WebSecurityConfigurerAdapter的方式,从而避免出现异常报错。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>