WebSecurityConfigurerAdapter的替代
时间: 2023-10-12 18:14:59 浏览: 115
在Spring Security 5之后,推荐使用更简单的方法来配置安全性,不需要继承WebSecurityConfigurerAdapter类。可以使用@EnableWebSecurity注解和实现WebSecurityConfigurer接口的配置类来代替WebSecurityConfigurerAdapter。
以下是一个例子:
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig implements WebSecurityConfigurer {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/user/**").hasRole("USER")
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.logout().logoutSuccessUrl("/login");
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user").password("password").roles("USER")
.and()
.withUser("admin").password("password").roles("ADMIN");
}
}
```
在上面的例子中,我们使用@EnableWebSecurity注解启用Spring Security,并实现了WebSecurityConfigurer接口的configure方法来配置安全性。在这个方法中,我们定义了哪些URL需要哪些角色才能访问,以及如何进行身份验证和授权。我们还使用了configureGlobal方法来配置内存中的用户身份验证。
阅读全文