当前位置: 首页 > news >正文

学做系统的网站什么网站可以直接做word

学做系统的网站,什么网站可以直接做word,做电商网站的公司,长沙网站建设260e文章目录1.引言2.Spring Security过滤器链加载1.2.注册名为 springSecurityFilterChain的过滤器2、查看 DelegatingFilterProxy类3.查看 FilterChainProxy类3.1 查看 doFilterInternal方法。3.2 查看 getFilters方法。4 查看 SecurityFilterChain接口5 查看 SpringBootWebSecur…

在这里插入图片描述

文章目录

    • 1.引言
    • 2.Spring Security过滤器链加载
      • 1.2.注册名为 springSecurityFilterChain的过滤器
    • 2、查看 DelegatingFilterProxy类
    • 3.查看 FilterChainProxy类
      • 3.1 查看 doFilterInternal方法。
    • 3.2 查看 getFilters方法。
    • 4 查看 SecurityFilterChain接口
    • 5 查看 SpringBootWebSecurityConfiguration类

1.引言

在 Spring Boot项目之中,我们引入 Spring Security依赖,什么也没做,启动项目 Spring Security 就会生效,访问请求就进行了拦截。

Spring Boot 对于 Spring Security 提供了自动化配置方案,可以使用更少的配置来使用 Spring Security。

那么这个过滤器链是怎么加载和实现拦截的呢?

2.Spring Security过滤器链加载

1.2.注册名为 springSecurityFilterChain的过滤器

当 Spring Boot 项目启动后,SecurityFilterAutoConfiguration类会加载 DelegatingFilterProxyRegistrationBean注册过滤器,名字为 springSecurityFilterChain
在这里插入图片描述

注意:springSecurityFilterChain名字是固定写死的。

DelegatingFilterProxyRegistrationBean 注册成功后,该过滤器就被加载了到了注册器中。然后调用getFilter()方法生成 DelegatingFilterProxy代理对象并注册到 IOC中 。
在这里插入图片描述

2、查看 DelegatingFilterProxy类

我们访问项目,就会进入 DelegatingFilterProxy类的 doFilter方法。

DelegatingFilterProxy类本质也是一个 Filter,其间接实现了 Filter接口,但是在 doFilter中其实调用的从 Spring 容器中获取到的代理 Filter的实现类。

在这里插入图片描述
返回的 FilterChainProxy对象。

由此可知,DelegatingFilterProxy类通过 springSecurityFilterChain这个名称,得到了一个 FilterChainProxy过滤器,最终执行的是这个过滤器的 doFilter方法。

验证 springSecurityFilterChain名词不能修改
查看 initDelegate方法。

在这里插入图片描述

3.查看 FilterChainProxy类

FilterChainProxy类本质也是一个 Filter,所以查看 doFilter方法。留意该类里面的属性。

public class FilterChainProxy extends GenericFilterBean {private static final Log logger = LogFactory.getLog(FilterChainProxy.class);private static final String FILTER_APPLIED =FilterChainProxy.class.getName().concat(".APPLIED");// 过滤器链private List<SecurityFilterChain> filterChains;private FilterChainProxy.FilterChainValidator filterChainValidator;private HttpFirewall firewall;

3.1 查看 doFilterInternal方法。

惊不惊喜?15个过滤器都在这里了!
在这里插入图片描述

3.2 查看 getFilters方法。

原来这些过滤器都被封装进 SecurityFilterChain对象中。
在这里插入图片描述

4 查看 SecurityFilterChain接口

SecurityFilterChain类是个接口,实现类也只有一个 DefaultSecurityFilterChain类。
DefaultSecurityFilterChain类的构造方法,初始化了 List filters,是通过传参放进去的。
在这里插入图片描述
过滤器链参数是什么时候传入的?

5 查看 SpringBootWebSecurityConfiguration类

创建 Spring Security 过滤器链是交给 Spring boot 自动配置,由 SpringBootWebSecurityConfiguration类创建注入。
在这里插入图片描述
查看 WebSecurityConfigurerAdapter类。

在这里插入图片描述
然后会注入 HttpSecurity对象,HttpSecurity可以理解为 Spring Security 的 http核心配置,存放 Spring Security 中的过滤器链、请求匹配路径等相关认证授权的重要方法。

然后开始创建 Spring Security 过滤器链了,是交给 Spring Boot自动配置,一共有 15个过滤器。
使用 OrderedFilter进行代理,并设置了order属性。
添加完成后,将这些过滤器再封装为 DefaultSecurityFilterChain对象。

最后通过 WebSecurityConfiguration配置加载 springSecurityFilterChain,WebSecurityConfiguration中维护了securityFilterChains属性,会存放过滤器链中所有的过滤器。

总结
Spring boot 通过 DelegatingFilterProxyRegistrationBean注册过滤器,名字为 springSecurityFilterChain,并生成 DelegatingFilterProxy代理对象并注册到 IoC中。最终真正调用 FilterChainProxy过滤器的 doFilter 获取到 Spring Security 过滤器链

Spring Security的过滤器链在底层是封装在 SecurityFilterChain接口中的。

http://www.yayakq.cn/news/627585/

相关文章:

  • 国外网站排行榜网站开发必须要用js
  • 网站没排名的原因北京网站平台开发
  • wordpress建立网站吗视频制作软件大全免费版
  • 淘宝客不建网站怎样做网站功能模块结构图
  • 平台设计网站公司电话小网站广告投放
  • 哪里有最新的网站源码北京免费建站
  • 网站建设服务费怎么做会计分录大鹏教育平面设计官网
  • 深圳福田专业网站改版苏州市建设职业中心网站
  • 如何制作自己的app优化好的网站做企业网站
  • 东莞网站平面设计自己怎么做卖东西的网站
  • 个人 网站建设方案书 备案网站建设公司客户分析
  • 深圳网站设计公司电深圳一医疗公司给员工放假10个月
  • 招商网站建设定做网页微信能不能传文件
  • 购物网站系统建设方案wordpress本地导出
  • 快速网站建设公司用dw做网站的教程
  • 哪个网站做的ppt模板好深圳网站建设首选
  • 做网站实现自动生成pdf京东网站建设的主旨
  • 海南网站建设培训wordpress 发布文章慢
  • 外贸网站制作需求做视频网站 带宽
  • 网站宣传语学习怎么做网站
  • 山西设计网站公司wordpress序号插件
  • 哪些企业网站做的好中山网站免费制作
  • 为什么要建设应急管理网站精品课程网站设计报告
  • 购物商城网站功能设计中国外贸公司排名
  • 怎么样做贷款网站用什么网站做海报
  • 网站电子地图怎么做东莞赶集网最新招聘信息
  • asp.net 网站开发视频公司网站建设工作计划
  • 如何制作简单网站深圳网站设计哪家公司好
  • 苏州网站开发电话wordpress商家目录
  • 做网站用别人图片文章会侵权吗南京做网站的额