WebSecurityConfigurerAdapter 在 spring security 6 中被废止了
时间: 2023-08-03 09:32:17 浏览: 167
很抱歉,之前我的回答有误。Spring Security 目前还没有版本号为 6 的,最新版本是 5.x。关于 `WebSecurityConfigurerAdapter` 是否被废止,实际上并没有,它仍然是 Spring Security 中一个非常重要的配置类。
在 Spring Security 5.x 中,我们仍然可以使用 `WebSecurityConfigurerAdapter` 来配置安全策略。例如,我们可以创建一个继承自 `WebSecurityConfigurerAdapter` 的配置类,来配置 Spring Security 的基本安全策略,例如以下示例:
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private CustomUserDetailsService userDetailsService;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/login").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/home")
.permitAll()
.and()
.logout()
.permitAll();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService);
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
```
在上述代码中,我们通过 `configure(HttpSecurity http)` 方法配置了 Spring Security 的安全策略,例如只有登录用户才能访问除 `/login` 以外的 URL,登录页面为 `/login`,登录成功后跳转到 `/home` 页面,退出登录后跳转到登录页面等等。
同时,我们通过 `configure(AuthenticationManagerBuilder auth)` 方法来配置用户认证信息,例如使用自定义的 `CustomUserDetailsService` 来加载用户信息,并使用 `BCryptPasswordEncoder` 对密码进行加密。
因此,我们仍然可以使用 `WebSecurityConfigurerAdapter` 来配置 Spring Security 的安全策略。
阅读全文