找回密码
 立即注册
首页 业界区 业界 记录一下新建模块时关于Spring Security的相关配置类 ...

记录一下新建模块时关于Spring Security的相关配置类

晁红叶 2025-9-28 16:43:44
一开始接触开源框架的时候,尤其是微服务类的,需要新建一个模块来写自己的业务,这与单体应用那样毫无解耦的缠在一起区别很大。
新的模块因为解耦不仅相互独立,而且彼此之间的配置无法相互调用,这时如果你的全局配置使用了Spring Security,
无论写多少MVC结构的Restful接口,都一定是无法测试成功的,而报错原因也都是401 UNAUTHORIZED
在这种情况下,所有的请求都被Spring Security的默认拦截器拦截,无法到达后端。(Shiro等框架我没有试过,其他框架的默认规则也许和Spring不同)
所以为了让请求顺利通过验证,就需要配置SecurityConfigurer类,在旧版本的springframework包里采用的是WebSecurityConfigurerAdapter,
而在Spring Security 5.7.0及更高版本(包括Spring Boot 2.7.0+)中,WebSecurityConfigurerAdapter被标记为已弃用,并在Spring Security 6.0中被完全移除。
但无论新版本还是旧版本我们要做的事都是一样,那就是找到那个传参为HttpSecurity类型的方法,并直接调用。
在Spring Security旧版本中,我们重写configure方法,并调用.antMatchers对接口进行放行
  1.    @Override
  2.     protected void configure(HttpSecurity httpSecurity) throws Exception {
  3.     .antMatchers("/xxx").permitAll()
  4.     }
复制代码
关闭跨域配置是调用
  1. httpSecurity.csrf().disable()
复制代码
在Spring Security新版本中,我们则基于Bean注解配置filterChain方法对接口进行放行
如果要关闭跨域配置的话只需调用
  1. .csrf(AbstractHttpConfigurer::disable)
复制代码
1.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册