SpringSecurity

阅读: 评论:0

SpringSecurity

SpringSecurity

前言

系统安全可分为身份认证和授权验证两个部分,spring security提供了这两种能力,本文讲述security的设计思路。

设计思想

不赘言,开门见山,简单明了简述spring security的设计思想:

通过filter实现security!使用责任链实现身份认证和授权验证。

就像这样哦。

 

DelegatingFilterProxy

作用在于:在servlet容器和springContext之间进行桥接。

详细描述下,servlet容器使用自己的标准去注册filter,但是无法感知spring组建的bean。DelegatingFilterProxy的作用在于:DelegatingFilterProxy注册到servlet容器中,然后把所有工作委托给实现filter的springbean。

FilterChainProxy SecurityFilterChain

作用在于:把security工作委派给更多的filter bean。

看图更清晰哦。

做一些介绍

security工作的委派流程:

  1. DelegatingFilterProxy,把工作交给FilterChainProxy;
  2. FilterChainProxy又把工作交个SecurityFilterChain;
  3. SecurityFilterChain把工作交给SecurityFilter链;

securityFilter是一些特殊类型的bean,通过FilterChainProxy注册到SecurityFilterChain。 

有一个问题:

为什么没有直接在DelegatingFilterProxy中注册securityFilter呢?

  1. FIlterChainProxy作为security的工作起点,可以从这里开始debug。
  2. FilterChainProxy作为security的执行核心,执行了一些不可选的行为。例如最终清理securityContext,使用security的httpfirewall防火墙。
  3. 支持多个SecurityFilterChain,根据url进行匹配选择,即根据url选择不同的安全策略。

官方是这么说的,源码自然也是这么写的。

接下来通过源码,看看FilterChainProxy都做了什么事情:

org.springframework.security.web.FilterChainProxy#doFilter

org.springframework.security.web.FilterChainProxy#doFilterInternal

参考文档

Spring Security Reference

关于security,我的其他文章。

SpringSecurity-身份认证原理_陈海龙的格物之路-CSDN博客如果你对SpringSecurity-身份认证原理还不了解,这篇文章可以满足你哦。。如果你还不了解原理,快来看看吧。

SpringSecurity-自定义分布式session与url授权验证_陈海龙的格物之路-CSDN博客springsecurity通过配置实现自定义扩展,例如实现分布式session、url授权验证等。来吧,一起看看怎么玩security。

本文发布于:2024-01-29 03:11:49,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170646911212280.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:SpringSecurity
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23