WebSecurityConfigurerAdapter 已经弃用,用什么代替?我使用的版本是5.7.8,你帮我写一个配置
时间: 2024-06-07 07:08:24 浏览: 108
你好,关于你的问题,WebSecurityConfigurerAdapter 已经废弃了,可以使用WebSecurityConfigurer接口代替。以下是一个基本的安全配置示例:
@Configuration
@EnableWebSecurity
public class SecurityConfig implements WebSecurityConfigurer {
@Autowired
private MyUserDetailsService userDetailsService;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN") // 需要admin角色才能访问/admin/**
.antMatchers("/**").permitAll() // 所有人都可以访问所有其他的路由
.and()
.csrf().disable() // 由于使用JWT,我们禁用csrf
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS); // 禁用session,所以状态是无状态的JWT
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder());
}
@Override
public void configure(WebSecurity web) throws Exception {
web
.ignoring()
.antMatchers("/images/**", "/js/**", "/css/**", "/favicon.ico"); // 忽略这些文件夹下的静态文件
}
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder();
}
}
希望能解决你的问题,如果还有其他的问题,请继续提问。
阅读全文