在springboot 如何使用WebSecurityConfigurerAdapter
时间: 2023-10-26 08:15:23 浏览: 96
WebSecurityConfigurerAdapter是Spring Security提供的一个配置类,通过继承该类,可以方便地配置Spring Security的安全策略。
下面是一个示例:
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/public/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/")
.permitAll()
.and()
.logout()
.permitAll();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService);
}
}
```
在上面的示例中,我们定义了一个名为SecurityConfig的配置类,并继承了WebSecurityConfigurerAdapter。通过重写configure(HttpSecurity http)方法,我们可以定义一个HTTP安全策略,例如:
- 所有访问/public/**的请求都将被允许;
- 其他所有请求都需要进行身份验证(authenticated);
- 使用表单登录,并指定登录页面为/login;
- 登录成功后,将跳转到默认的首页(/);
- 允许注销操作。
此外,在configureGlobal(AuthenticationManagerBuilder auth)方法中,我们通过调用userDetailsService方法,将自定义的UserDetailsService实例注入到认证管理器中。
总之,WebSecurityConfigurerAdapter提供了一种方便的方式来配置Spring Security的安全策略,使得我们可以快速地实现各种不同的安全要求。
阅读全文