使用@EnableWebSecurity 注解还可以继承WebSecurityConfigurerAdapter类么,

时间: 2023-10-12 07:57:55 浏览: 206
是的,可以同时使用 @EnableWebSecurity 注解和继承 WebSecurityConfigurerAdapter 类来配置 Spring Security。这两种方式并不冲突,实际上,@EnableWebSecurity 注解本身就是为了引入 WebSecurityConfigurerAdapter 类的配置。 @EnableWebSecurity 注解用于启用 Spring Security 的 Web 安全功能,并自动应用名为 WebSecurityConfiguration 的配置类。而 WebSecurityConfiguration 类继承了 WebSecurityConfigurerAdapter 类,并提供了一些默认的安全配置。 如果你需要进一步自定义配置,可以继承 WebSecurityConfigurerAdapter 类,并重写其中的方法来覆盖或添加额外的配置。通过继承 WebSecurityConfigurerAdapter 类,你可以更灵活地定制 Spring Security 的行为,例如设置登录页面、自定义用户认证逻辑、配置访问规则等。 示例: ```java @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { // 自定义HTTP安全配置 http .authorizeRequests() .antMatchers("/public").permitAll() .anyRequest().authenticated() .and() .formLogin() .loginPage("/login") .permitAll() .and() .logout() .permitAll(); } } ``` 在上面的例子中,我们使用 @EnableWebSecurity 注解启用了 Spring Security 的 Web 安全功能,并继承了 WebSecurityConfigurerAdapter 类来自定义配置。在 configure(HttpSecurity http) 方法中,我们定义了 HTTP 请求的安全规则,例如允许访问 "/public" 路径而不需要身份验证,其他路径需要身份验证等。
阅读全文

相关推荐