博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springsecurity之DefaultSecurityFilterChain
阅读量:6589 次
发布时间:2019-06-24

本文共 767 字,大约阅读时间需要 2 分钟。

hot3.png

    在看FilterChainProxy的时候,发现使用到SecurityFilterChain,可以看下我的。

    注意:Springsecurity版本是4.3.x.RELEASE

    在看源码的过程中,发现SecurityFilterChain的实现类只有一个DefaultSecurityFilterChain,Spring中一般情况下一个接口的实现都会有好多实现类,只有一个实现类的比较少见。

    先上一张图,如下图1所示。

                             

                                                                                   图1

    List-1 最重要的俩个方法

public List
getFilters() { return filters; } public boolean matches(HttpServletRequest request) { return requestMatcher.matches(request); }

    如List-1所示,最重要的俩个方法就是matches和getFilters。感觉DefaultSecurityFilterChain就是对RequestMatcher和Filter的封装而已。那么在FilterChainProxy中为什么不直接使用RequestMatcher和Filter呢,还用SecurityFilterChain作为中转呢?个人的理解与思考如下:

  •  如果直接在FilterChainProxy中使用RequestMatcher和Filter,那么代码耦合度就会变高,SecurityFilterChain最为解耦的一个承载。
  •  这也启示我,以后遇到代码耦合度高的情况下,可以借鉴SecurityFilterChain这样,用一个中转类来解耦。

 

    

转载于:https://my.oschina.net/u/2518341/blog/2874536

你可能感兴趣的文章
《正则表达式经典实例(第2版)》——2.18 向正则表达式中添加注释
查看>>
lolcat :一个在 Linux 终端中输出彩虹特效的命令行工具
查看>>
ROS机器人程序设计(原书第2版)3.9 3D可视化
查看>>
干货 | 豆子科技首席架构师钟声:Java的纯真年代
查看>>
《数字图像处理与机器视觉——Visual C++与Matlab实现》——0.2 数字图像处理与识别...
查看>>
Storm-源码分析-Topology Submit-Client
查看>>
深度解析Java8 – AbstractQueuedSynchronizer的实现分析(下)
查看>>
SSH原理与运用(一):远程登录
查看>>
Spring Framework 4.2 中的新功能和增强功能
查看>>
动态代理解决网站字符集编码
查看>>
Spring中的AOP(二)——AOP基本概念和Spring对AOP的支持
查看>>
SQL*Plus环境下创建PLUSTRACE角色
查看>>
我所想的GIX4的权限
查看>>
Hbuilder--让手爽,飞一般的编码(二)
查看>>
后台统计
查看>>
React组件: 提取图片颜色
查看>>
3D应用开发中的欧拉角和旋转矩阵
查看>>
爬虫必备技能xpath的用法和实战
查看>>
MacOS下安装Grafana、InfluxData、telegraf
查看>>
RxJava2.0的初学者必备教程(九)
查看>>