系统安全可分为身份认证和授权验证两个部分,spring security提供了这两种能力,本文讲述security的设计思路。
不赘言,开门见山,简单明了简述spring security的设计思想:
就像这样哦。
作用在于:在servlet容器和springContext之间进行桥接。
详细描述下,servlet容器使用自己的标准去注册filter,但是无法感知spring组建的bean。DelegatingFilterProxy的作用在于:DelegatingFilterProxy注册到servlet容器中,然后把所有工作委托给实现filter的springbean。
作用在于:把security工作委派给更多的filter bean。
看图更清晰哦。
做一些介绍
security工作的委派流程:
securityFilter是一些特殊类型的bean,通过FilterChainProxy注册到SecurityFilterChain。
有一个问题:
为什么没有直接在DelegatingFilterProxy中注册securityFilter呢?
官方是这么说的,源码自然也是这么写的。
接下来通过源码,看看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小时内删除。
留言与评论(共有 0 条评论) |