SpringSecurity用大白话让你真正理解框架的底层原理

本文探讨了SpringSecurity的本质,它是由一系列Filter组成的。通过FilterChainProxy和SecurityFilterChain,框架处理登录请求,如UsernamePasswordAuthenticationFilter。在认证过程中,框架自动校验用户名和密码,并在认证成功后提供自定义的处理方法。了解这些基础知识,为深入研究SpringSecurity的细节打下基础。
摘要由CSDN通过智能技术生成

SpringSecurity大家可能都知道这是一组Filter的组合但是具体是怎样的呢?让我们首先看一下我们最原始的登录是怎么做的,框架也都是一步步的演变过程,让我们一起循序渐进的学习。

 

先看下总体的体现FilterChainProxy(其实是一个Servlet过滤器)其实包含了多个SecurityFilterChain

SecurityFilterChain又包含了多个Filter的实现,最常见的就是  UsernamePasswordAuthenticationFilter

 

以上是官方网站的一个例子。

username password共同组成了

 UsernamePasswordAuthenticationToken这个类是接口Authentication的一个实现类。其实就是用户的输入参数。这时候是只包含用户名和密码的

拿到这个请求参数之后的authentication方法会把这个UsernamePasswordAuthenticationToken填充完成,最主要是detail属性,其实就是个性化的用户实体。中间会校验用户密码的正确性。这个是框架自动帮你完成的,在provider实现类中。

认证完成之后有个成功处理方法在usernamepassword的父类AbstractAuthenticationProcessingFilter中,可以自定义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值