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

留言网站建设童装网站建设目标

留言网站建设,童装网站建设目标,货代可以从哪些网站开发客户,大连网站怎么推广前言:本系列博客基于Spring Boot 2.6.x依赖的Spring Security5.6.x版本 Spring Security中文文档:https://springdoc.cn/spring-security/index.html 一、什么是Spring Security Spring Security是一个安全控制相关的java框架,它提供了一套全…

前言:本系列博客基于Spring Boot 2.6.x依赖的Spring Security5.6.x版本

Spring Security中文文档:https://springdoc.cn/spring-security/index.html

一、什么是Spring Security

Spring Security是一个安全控制相关的java框架,它提供了一套全面的安全解决方案,包括身份验证、授权、防止攻击等功能。支持点击劫持,CSRF,XSS,MITM(中间人)等常见攻击手段的保护,并提供密码编码,LDAP认证,Session管理,Remember Me认证,JWT,OAuth 2.0等功能特性。Spring Security基于过滤器链的概念,可以轻松地集成到任何基于Spring的应用程序中。

二、Spring Security架构

在Spring Web应用中,基本上只有一个DispatcherServelt,主要用于请求分发,缺乏安全相关的支持和合适的扩展机制。而过滤器(Filter)是运行在Servlet之前的,一个Servlet运行前可能会经过多个Filter。所以在请求到达Servlet之前,先通过Filter进行安全验证就是一个非常合理的实现方式,而Spring Security的功能就是基于Filter来实现的。下图是Spring Security官方提供的架构图。
在这里插入图片描述
从架构图中可以看出,Spring Security功能实现主要由FilterChain、DelegatingFilterProxy、FilterChainProxy、SecurityFilterChain、Security Filter等组件组成。

1、FilterChain

FilterChain是过滤器链,客户端向应用程序发送一个请求时,容器会创建一个由Filter和Servlet组成的过滤器链FilterChain。
通过使用FilterChain,我们可以以插拔的方式添加或移除特定功能的Filter,而无需改动现有的代码,非常方便。

2、DelegatingFilterProxy

Spring Web包中提供了一个名为DelegatingFilterProxy的Filter实现。它的功能是在Servlet容器和Spring容器之间建立桥梁。
Servlet容器不知道Spring定义的Bean,而Spring Security的大部分组件及其依赖都是注册到Spring容器中的Bean。所以DelegatingFilterProxy的主要工作就是从WebApplicationContext获取指定名称的Filter Bean,然后将工作委托这个Bean的doFilter方法
通过这种方式,DelegatingFilterProxy实现了将Servlet容器中的Filter请求委托给Spring容器中的具体Filter Bean处理,从而实现了Servlet容器和Spring容器之间的无缝连接。

3、FilterChainProxy

FilterChainProxy是Spring Security提供的一个特殊的Filter。它的主要作用就是主要作用就是查找匹配当前http请求规则的SecurityFilterChain,然后将工作委派给SecurityFilterChain的所有Filter执行。它是在WebSecurityConfiguration里配置的

4、SecurityFilterChain

一个过滤器链,由一系列Security Filter以及匹配规则组成。当一个http请求符合该SecurityFilterChain的匹配规则,FilterChainProxy就会调用这个SecurityFilterChain里的所有Filter。有多个SecurityFilterChain时,FilterChainProxy只会使用第一个匹配成功的SecurityFilterChain。下图为一个SecurityFilterChain的组成。
在这里插入图片描述
SecurityContextPersistenceFilter:当请求需要认证的资源时,该Filter就是过滤器链的第一个过滤器,用来处理Spring Security的上下文信息,也就是SecurityContext,保证不同请求,但是sessionId相同,也就是同一用户的不同请求,拿到的上下文是相同的,也就是通过SecurityContextHolder.getContext()拿到的信息是同一个。

UsernamePasswordAuthenticationFilter:表单认证Filter,即表单方式登录,校验用户名密码处理。Spring Security默认提供的认证方式之一。
BasicAuthenticationFilter:Basic认证Filter,弹窗输入用户名密码,校验处理,Spring Security默认提供的认证方式之一。

ExceptionTranslationFilter:处理认证及授权过程中抛出的异常,然后返回给客户端。只处理AccessDeniedException和AuthenticationException这两种异常。不是这两种异常,ExceptionTranslationFilter不工作。

FilterSecurityInterceptor:SecurityFilterChain过滤器链的最后一个Filter,用来鉴权,判断用户是否有当前请求资源的权限,来决定是否放行请求。

5、Security Filter

Security Filter就是Spring Security实现具体功能的一些Filter,如CsrfFilter,UsernamePasswordAuthenticationFilter、AuthenticationFilter,AuthorizationFilter等Spring Security默认的Filter。
这些Filter可以用于许多不同的目的,如 认证、授权、漏洞保护 等等。filter 是按照特定的顺序执行的,以保证它们在正确的时间被调用。我们也可以自定义Filter加入的Spring Security执行过程中。可以在应用启动时,使用INFO级别的日志,在控制台查看Security Filter的列表。

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

相关文章:

  • 专业做公司宣传网站江西省建设工程有限公司
  • 网站建设首页面广东省54个市
  • 帝国cms 商城网站视频教程网站禁止火车头采集
  • 做网站如何变现小程序网站建设y021
  • 做网站做一个什么主题的做网站送400电话
  • 珠海知名网站图片字体转wordpress
  • 为什么用dw做的网站打不开网站布局的重要性
  • 网站运营与营销网页微信版官方下载
  • 广安网站建设服务重庆做优化的网络公司
  • 网店网站设计论文惠州+网站建设公司
  • 有没有做门店设计的网站网站上传用什么软件做视频教程
  • 如何再网站上做免费广告词网站模板 古典
  • 网站里的注册怎么做设计网站设计原则
  • 银行网站开发技术方案男人和女人做羞羞的免费网站
  • 网站论坛建设方案中国建设银行手机wap网站
  • 一般做网站的宽度怎么处理的网站建设的技术团队
  • 移动端网站 用什么软件做wordpress所有文章
  • 给wordpress首页添加公告栏英文seo是什么意思
  • 网站如何做内部链接抖音小程序开发工具
  • 湖州企业做网站wordpress去主题插件提示
  • 龙岗网站360推广登录平台
  • 制作网站品牌公司哪家好怎样才能制作网站
  • 青海高端网站建设制作一个自己的网站
  • 查询网站外链怎么做好网站搜索引擎优化
  • wordpress入门建站教程武进网站建设好么
  • 湖南做网站的公司有哪些网络优化推广
  • 用vultr做网站做外贸怎么登陆国外网站
  • 做网站技巧成华区微信网站建设推广
  • 池州专业网站建设怎么样网站首页制作方案
  • 宁波网站制作首推蓉胜网络好免费做爰网站