Filter

Spring Security’s Servlet 基于 Servlet Filters.

客户端发送一个请求到application,容器(tomcat)创造了FilterChaain(包含FilterServlet)来处理请求(HttpServletRequest).在SpringMVC中servlet就是DispatcherServlet.
最多一个Servlet处理一个请求和相应.,而可以有多个filter来:
1)阻止访问下游(downstream)的fitlerservlet,可以直接返回响应
2)更新下游的 HttpServletRequest 或 HttpServletResponse(在返回时更新response)

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {// do something before the rest of the applicationchain.doFilter(request, response); // invoke the rest of the application// do something after the rest of the application
}

DelegatingFilterProxy

1)Filter的代理,用来连接Servlet容器和Spring的ApplicationContext.比如将FIlter注册为Bean.
2)另外一个是可以延迟加载,在之前,容器启动前就必须注册好Filter,而该代理可以通过监听器ContextLoaderListener来注册.

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {// Lazily get Filter that was registered as a Spring Bean// For the example in DelegatingFilterProxy delegate is an instance of Bean Filter0Filter delegate = getFilterBean(someBeanName);// delegate work to the Spring Beandelegate.doFilter(request, response);
}

参考:
https://docs.spring.io/spring-security/site/docs/5.4.5/reference/html5/#servlet-architecture

SpringSecurity Filter相关推荐

  1. SpringSecurity Filter顺序

    Spring Security Filter的顺序: ChannelProcessingFilter WebAsyncManagerIntegrationFilter SecurityContextP ...

  2. 服务端的第五次课程:安全,认证,授权

    回顾 request 进入dispatchservlet(一些静态的页面,就不一定要进入这个) 这个流程是前后端没有分离的 把Java对象转为json格式的字符串,返回给字符串 restControl ...

  3. 从Servlet到SpringMVC演变过程详解(ServletContext 和WebApplicationContext, ApplicationContext给你安排上了)

    无图言屌: 以前我们用servlet进行编程: 所有的配置都会在配置在web.xml里面,其实类似于现在的任务编排 我们会把我们的Filter和Servlet还有Listener,初始化的一些参数都写 ...

  4. CDH6.1.0环境搭建 完成后 登录admin账户失败

    CDH环境搭建完成,启动cloudera-manager-server成功,下面是启动日志 [root@node-1 ~]# sudo systemctl start cloudera-scm-ser ...

  5. 旅游网后台管理系统(三)权限操作

    文章目录 1. 创建表 1.1 表之间的关系 1.2 用户表 1.3 角色表 1.4 用户与角色的中间表 1.5 权限表 1.6 角色与权限的中间表 2. Spring Security 2.1 Sp ...

  6. java.io.IOException: Broken pipe 线上问题记录

    今天在上线前staging环境验证时遇到这样一个问题java.io.IOException: Broken pipe,操作服务刚起来之后,测试人员第一次进行更配[post]操作,结果操作失败,但是第二 ...

  7. Spring-Security 自定义Filter完成验证码校验

    Spring-Security的功能主要是由一堆Filter构成过滤器链来实现,每个Filter都会完成自己的一部分工作.我今天要做的是对UsernamePasswordAuthenticationF ...

  8. SpringSecurity(四)——自定义数据源(Filter)

    SpringSecurity(四)--自定义数据源(Filter) 前言 本篇笔记记录用户自定义拦截器(Filter),这里仅举一个自定义登录拦截器的栗子. 文章目录 SpringSecurity(四 ...

  9. SpringSecurity权限管理框架系列(七)-SpringSecurity自定义配置类中自定义Filter的使用详解

    1.Filter请求过滤器 filter请求过滤器可以帮助我们进行HttpServletRequest请求和HttpServletResponse响应的过滤 在自定义的Filter过滤器中我们可以对我 ...

最新文章

  1. 漫谈计算机体系.md
  2. Java8的集合:HashSet的实现原理
  3. null?对象?异常?到底应该如何返回错误信息
  4. 30个Oracle语句优化规则详解
  5. ITK:从给定的seeds创建距离图
  6. 【Linux系统编程】信号 (上)
  7. sqlserver迁移数据到mysql_SQLServer数据库之将ABP的数据库从SQLSERVER迁移到MySql
  8. 云上赶年集、品年味,阿里云让云上中国年“春节不打烊”
  9. MNIST数据集手写数字识别(一)
  10. 两度转向,做社区团购,生鲜电商留给美团的时间并不多
  11. 如何了解百度竞价调价技巧
  12. linux内核结构体初始化时出现的.owner = THIS_MODULE
  13. createFont(STSong-Light, UniGB-UCS2-H,BaseFont.NOT_EMBEDDED);
  14. 自定义控件详解(二):Path类 相关用法
  15. 前端xlsx插件简单说明
  16. python中set如何添加元素_python中如何在set中添加元素?语句是什么
  17. Python 爬取 Google Map POI
  18. 关于图灵JAVA一百道面试题总结
  19. pgsql之create user与create role的区别
  20. 数据分析师需要重点学习什么技能?

热门文章

  1. java 根据条件从list中筛选出符合条件的集合_Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合
  2. Python+pandas+matplotlib可视化案例一则
  3. Python查找任意字符串中只出现一次的字符(2016奇虎笔试题)
  4. php 连接sap rfc 乱码,[RFC] sap rfc调用时判断连接状态
  5. php获取时间格式的年份,PHP获取当前时间、时间戳的各种格式写法汇总
  6. mysql l查看历史等锁信息_mysql查看锁等信息SQL
  7. BFS--常用模板及实际应用
  8. Maven generate/构建项目太慢解决方法
  9. 河池学院计算机宿舍,河池学院宿舍条件,宿舍环境图片(10篇)
  10. python 文本框内容变化_监听文本输入框内容值的改变——4种方法