纯净、安全、绿色的下载网站

首页

当前位置:首页IT学院IT技术

SpringSecurity和filter冲突导致多执行 Spring Security和自定义filter的冲突导致多执行的解决方案

程序员救不了第四宇宙   2021-06-22 我要评论
想了解Spring Security和自定义filter的冲突导致多执行的解决方案的相关内容吗程序员救不了第四宇宙在本文为您仔细讲解SpringSecurity和filter冲突导致多执行的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Spring,Security,自定义filter,冲突导致多执行下面大家一起来学习吧

问题描述:

使用Spring Security时在WebSecurityConfig中需要通过@bean注解注入Security的filter对象但是不知是不是因为spring boot框架的原因还是什么未知原因导致在这里注入就会多注入一次这个对象导致filter链走完之后又会回到这个filter中再执行一次

@Bean
    public JwtAuthenticationTokenFilter authenticationTokenFilterBean() throws Exception {
        return new JwtAuthenticationTokenFilter();
    }

这是WebSecurityConfig.java中原本需要注入的对象

httpSecurity
.addFilterBefore(authenticationTokenFilterBean(), UsernamePasswordAuthenticationFilter.class);

添加到Security中这时可能就会因为这一次的注入导致filter链在本应该执行完之后再一次执行添加到Security的filter……

解决办法:

将这两个代码段注释掉即可解决当然只是解决filter链执行完后再执行Security的filter的问题本质上来说并不能真正的解决问题如果有更好的理解或者更好的解决方法欢迎讨论

2019-5-9 16:49:00:之前这么做发现这样Spring Security就相当于没有作用了但是filter还是会起作用而如果启用Spring Security还是会进入filter……如果授权自定义的话Spring Security感觉没有用处了当然这是我碰到的问题框架也是别人搭起来的但是用法是不对的导致写的filter变成了自定义的感觉跟Spring Security框架格格不入如果有大佬知道的话欢迎指导!谢谢

如果要使用Spring Security那么就需要将JwtAuthenticationTokenFilter上的@Component注解删除或者注释掉因为二次注入的类都是这个但是产生的类对象应该是不一样的所以会导致二次进入filter

所以搞得我现在很怀疑Spring Security是不是有必要……

Spring Security3自定义安全过滤器位置及注意事项

当auto-config="true"时,springSecurity自动创建过滤器链

1.自定义过滤器位置需要在已有过滤器之前或之后否则会报错

2.由于FilterSecurityInterceptor安全observeOncePerRequest(每个请求一次)默认为true.

默认情况下FilterSecurityInterceptor只会执行一个所以如果既要执行默认安全过滤器又要执行自定义过滤器自定义过滤器放到默认安全过滤器之前同时observeOncePerRequest设置为false.

如:

(1)

<custom-filter after="FILTER_SECURITY_INTERCEPTOR" ref="menuFilter" />

(2)

<beans:property name="observeOncePerRequest" value="false" />

以上为个人经验希望能给大家一个参考也希望大家多多支持


相关文章

猜您喜欢

  • Tomcat 架构原理 架构设计 解析Tomcat架构原理到架构设计

    想了解解析Tomcat架构原理到架构设计的相关内容吗码哥字节在本文为您仔细讲解Tomcat 架构原理 架构设计的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Tomcat,架构原理,Tomcat,架构设计下面大家一起来学习吧..
  • OpenCV轮廓外接多边形 OpenCV实现轮廓外接多边形

    想了解OpenCV实现轮廓外接多边形的相关内容吗我有一個夢想在本文为您仔细讲解OpenCV轮廓外接多边形的相关知识和一些Code实例欢迎阅读和指正我们先划重点:OpenCV轮廓外接多边形,OpenCV轮廓外接,OpenCV外接多边形下面大家一起来学习吧..

网友评论

Copyright 2022 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们