SpringSecurity 3.0.2.2版本

前言:

实践,认知,再实践,再认知

回顾:

随着2.0,2.1的实践,我们找到了真正的需求

将默认用户改为自定义用户,而不是读取表单

正片:

随着官方文档的不断阅读,不断阅读,不断阅读,终于------找到了一篇和自定义用户相关的文档

其中有一句,指明了该如何实践

《你可以通过暴露一个自定义的 UserDetailsService 作为一个bean来定义自定义认证》

紧跟着就是解释说明

《例如,假设 CustomUserDetailsService 实现了 UserDetailsService,那么下面的列表将自定义认证。》

好没看懂,看看前面有没有联系

又长,又难,还抽象

UserDetail是由UserDetailService返回------翻译------用户明细是由用户明细业务返回的

后面这句是什么?先从那个Dao开始的单词开始

Dao是一个实现,接口的实现

我并没有看到它实现authentication这个接口,除非它指继承的ABS这个类实现了

重的来说就是

A类继承了B类,B类实现C接口,因为继承的原因------A类实现C接口

没毛病,兄弟们!代码对上了

使用这个DAO的作用是什么?验证账号和密码

看到这个是啥Authentication

authenticManager是一个接口,Authentication authenticate也能说明它是authenticManager的输入

AuthenticationManage是什么?是定义filter如何执行认证的API

找到了它的实现

实例化AuthenticationObservationContext()

调用了该部分的Authorities两个方法

这段代码就是在说如何执行认证,这个执行更多的是指顺序

Authentication是AuthenticationManage的一个输入,是指认证顺序的输入

Authentication的 第二个功能是认证功能,认证三部分,用户,密码,权限

总结下来就是这张图

相关推荐
AI进化营-智能译站32 分钟前
ROS2 C++开发系列17-多线程驱动多传感器|chrono高精度计时实现机器人同步控制
java·c++·ai·机器人
qq_589568104 小时前
springbootweb案例,出现访问 http://localhost:8080/list 一直处于浏览器运转阶段
java·网络协议·http·list·springboot
JAVA面经实录9174 小时前
计算机基础(完整版·超详细可背诵)
java·linux·数据结构·算法
AC赳赳老秦4 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
FYKJ_20105 小时前
springboot校园兼职平台--附源码02041
java·javascript·spring boot·python·eclipse·django·php
书源丶6 小时前
三十六、File 类与 IO 流基础——文件操作的「第一步」
java
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题】【Java基础篇】第30题:JDK动态代理和CGLIB动态代理有什么区别
java·开发语言·后端·面试·代理模式
DFT计算杂谈7 小时前
wannier90 参数详解大全
java·前端·css·html·css3
marsh02067 小时前
43 openclaw熔断与降级:保障系统在异常情况下的可用性
java·运维·网络·ai·编程·技术