springsecurity中的类
Authentication


AuthenticationProvider

每一个AuthenticationProvider对应一个Authentication
很多个AuthenticationProvider 由一个 ProviderManager管理
ProviderManager
implements AuthenticationManager
一个ProviderManager有很多个 AuthenticationProvider


UsernamePasswordAuthenticationFilter
用户名密码登录 进入的 Filter ,,他的父类AbstractAuthenticationProcessingFilter


DaoAuthenticationProvider
父类是AbstractUserDetailsAuthenticationProvider

这里的retrieveUser() 会返回数据库中 找到的 UserDetails 对象。。。就是UserDetailsService#loadUserByUsername 获取的对象

在 AccountStatusUserDetailsChecker#check方法校验用户其他属性


在DaoAuthenticationProvider#additionalAuthenticationChecks 校验密码


Authenticate#getPrincipal 根据自己的Provider设置
自定义AuthenticationProvider
默认使用 DaoAuthenticationProvider 去校验,也可以自定义自己的Provider交给 ProviderManager去管理
比如: 添加短信验证码,,图形验证码
自定义过滤器,,一般来说放在UsernamePasswordAuthenticationFilter 过滤器的前面,,每次请求都会 过这个过滤器,,但实际上,只需要登录的时候再去过那个验证码过滤器就行了,,
但是,,怎么只让登录请求经过这个过滤器呢,其他请求不进入,,
自己写AuthenticationProvider, 并在这里面写验证码的校验,,交给 AuthenticationManager管理
- 写自己的Provider

- 在配置文件中配置

github:https://github.com/water-kid/spring-security/tree/master/springsecurity-mybatis
相关文章:
springsecurity中的类
Authentication AuthenticationProvider 每一个AuthenticationProvider对应一个Authentication 很多个AuthenticationProvider 由一个 ProviderManager管理 ProviderManager implements AuthenticationManager 一个ProviderManager有很多个 AuthenticationProvider Usern…...
k8s配置管理
一、configmap 1.1 configmap概述 Configmap 是 k8s 中的资源对象,用于保存非机密性的配置的,数据可以用 key/value 键值对的形式保存,也可通过文件的形式保存。 1.2 configmap作用 我们在部署服务的时候,每个服务都有自己的配置…...
技术官方文档中的代码是用什么展示的?代码高亮插件总结
****内容预警****菜鸟教程***大佬绕道我们经常看到各种技术官方文档,有很多代码展示的区域,用于我们复制粘贴代码,比如vue 的官网当我们需要自己实现这么一个网站的时候,我就开始手忙脚乱,这到底是咋实现的?…...
2023年中职组网络安全竞赛——综合渗透测试解析
综合渗透测试 题目如下: PS:需求环境可私信博主,求个三连吧! 解析如下: 通过本地PC中的渗透测试平台KALI2020对服务器场景进行渗透攻击,获取到RSYNC服务所开放的端口,将RSYNC服务开放的端口数值进行MD5加密后作为FLAG提交(如MD5加密前:812);...
【全网最细PAT题解】【PAT乙】1044 火星数字(测试点2,测试点4详细解释)
题目链接 1044 火星数字 题目描述 火星人是以 13 进制计数的:地球人的 0 被火星人称为 tret。 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。 火星人将进位以后的 12 个高位数字分别称为:…...
rsync+xinetd+inotify+sersync
一、介绍 1.1、rsync 对比 scp 相同: 都有拷贝的功能不同: rsync:具有增量复制,每次复制的时候,会扫描对端是否在同路径下有我要发送的一样的文件或者目录,如果,如果存在,则不进行复制。边复制&…...
CSS - 扫盲
文章目录1. 前言2. CSS2.1 css 的引入方式2.2 选择器2.3 CSS 常用属性2.3.1 字体属性2.3.2 文本属性2.3.3 背景属性2.4 圆角矩形2.5 元素的显示模式2.6 盒子模型2.7 弹性布局1. 前言 上文我们简单 将 HTML 过了一遍 , 知道了 HTML 知识表示页面的结构和内容 &#x…...
ChatGPT能完全取代软件开发吗,看看它怎么回答?
最近网上一直疯传,ChatGPT 最可能取代的 10 种工作。具体包括①、技术类工作:程序员、软件工程师、数据分析师②、媒体类工作:广告、内容创作、技术写作、新闻③、法律类工作:法律或律师助理④、市场研究分析师⑤、教师⑥、金融类…...
Vue3学习笔记
一、Ref ref, isRef, shallowRef, triggerRef, customRef ref返回的是es6的一个class类,取值和修改都要加上.valueref 和 shallowRef不能一起写,会引起shallowRef的视图更新ref shallowRef triggerRef <template><div class"home&quo…...
【React】pro-mobile
1.项目介绍 实现react移动端项目 2.目标: 能够应用CRAReactMobxAntd-mobile开发C端项目掌握基于React的C端项目开发流程学会如何应用next优化项目 3.使用技术栈 脚手架:cra dva-cliumi 脚本:ts react版本:react v18 2022年更…...
Substrate 基础教程(Tutorials) -- 授权特定节点
五、授权特定节点 在添加可信节点中,您看到了如何使用一组已知的验证器节点构建一个简单的网络。该教程演示了一个简化版的许可网络(permissioned network)。在一个被许可的网络中,只有被授权的节点(authorized nodes…...
使用qemu-img转换镜像格式
qemu功能强大,详细了解其功能请到官网查看 https://www.qemu.org/docs/master/system/images.html qemu-img能将RAW、qcow2、VMDK、VDI、VHD(vpc)、VHDX、qcow1或QED格式的镜像转换成VHD格式,也可以实现RAW和VHD格式的互相转换。 …...
Springboot怎么集成Thymeleaf模板引擎?
Thymeleaf介绍Thymeleaf,是一个XML/XHTML/HTML模板引擎,开源的java库,可以用于SpingMVC项目中,用于代替JSP、FreeMarker或者其他的模板引擎;页面与数据分离,提高了开发效率,让代码重用更容易。S…...
LiveGBS国标GB/T28181视频流媒体平台-功能视频集中录制存储云端录像H264|H265|HEVC视频存储
LiveGBS国标GB/T28181视频流媒体平台-视频集中录制存储云端录像H264|H265|HEVC视频存储1、云端录像存储2、手动配置录像2.1、按需录像2.2、一直录像3、录像计划3.1、录像计划入口3.2、新增录像计划3.3、编辑录像计划3.4、关联通道4、查看云端录像4.1、查看录像4.1.1、时间轴模式…...
IntelliJ IDEA如何整合Maven图文教程详解
Maven 1.Maven简述 Maven是一个构建工具,服务与构建.使用Maven配置好项目后,输入简单的命令,如:mvn clean install,Maven会帮我们处理那些繁琐的任务. Maven是跨平台的. Maven最大化的消除了构建的重复. Maven可以帮助我们标准化构建过程.所有的项目都是简单一致的,简化了学习…...
图数据库认证考试 NGCP 错题解析 vol.02:这 10 道题竟无一人全部答对
如果你读过「NebulaGraph 错题解析第一期」,大概知道在错题解析未出来之前,NebulaGraph 专业技能认证 NGCP(全称 NebulaGraph Certified Professional)的通过率仅有 16.7%。但是,经过上一轮 NebulaGraph 认证考试出题人…...
188888
81. 一个敏捷项目正在进行八次迭代中的第五次迭代。在最后一次迭代计划之后,团队得知市场上出现一个新的竞争对手,有必要更快地加快进程来确保不失去市场份额。 项目经理应该怎么做? A 将竞争对手的功能添加到产品积压待办清单中,…...
华为机试题:HJ99 自守数(python)
文章目录(1)题目描述(2)Python3实现(3)知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…...
如何提高推广邮件的发送成功率?
随着经济的发展,国际之间的贸易往来越加频繁,很多外贸企业需要发送大量的商业推广邮件,来获得销售订单开拓公司业务市场。 随之而来的问题也是越来越多,给众多的外贸企业带来诸多的困扰。外贸企业在发送推广邮件中究竟会遇到什么问…...
关于提高PX4抗风性
滚转角速率控制器:(MC_ROLLRATE_P, MC_ROLLRATE_I, MC_ROLLRATE_D) 滚转角速率控制器:(MC_PITCHRATE_P, MC_PITCHRATE_I,MC_PITCHRATE_D) 滚转角速率控制器…...
【Python SM9性能生死线】:当SM9签名延迟突破120ms,你必须立即检查的4个Cython绑定陷阱
第一章:Python SM9性能生死线的临界认知SM9作为我国自主设计的标识密码算法标准(GB/T 38635–2020),其在Python生态中的实现常因底层运算瓶颈而陷入“可运行但不可用”的灰色地带。性能临界点并非由单一因素决定,而是密…...
Genus水平共现网络分析:高效替代OTU的实战指南
1. 为什么需要Genus水平共现网络分析? 做微生物群落研究的朋友们应该都深有体会,OTU/ASV水平的共现网络分析简直就是个时间黑洞。我去年处理一个土壤微生物项目时,2000多个OTU的共现网络跑了整整8个小时,等结果的时候都能看完两集…...
告别重复造轮子,用快马AI一键生成高复用登录组件提升效率
在开发官网登录入口时,我们常常需要重复处理用户认证、表单验证、状态管理等基础逻辑。这些工作虽然不复杂,但每次从零开始确实会消耗不少时间。最近我发现用InsCode(快马)平台可以快速生成高质量的登录组件,大大提升了开发效率。 组件功能设…...
基于STM32与ADC的锂电池电量监测系统设计
1. 锂电池电量监测为什么需要STM32和ADC? 做嵌入式开发的朋友应该都遇到过这样的需求:设备用锂电池供电,需要实时显示剩余电量。比如手持设备、智能家居控制器或者无人机,电量显示都是刚需功能。但锂电池的特性决定了直接测量电量…...
37 Python 时序和文本:词袋模型 BoW 和 TF-IDF 到底怎么理解?
Python 文本分析入门:词袋模型 BoW 和 TF-IDF 到底怎么理解? 上一篇主要解决了两个基础问题: 为什么中文文本通常要先分词?为什么分词之后还要做停用词过滤? 但文本清洗完成之后,新的问题很快就会出现&…...
36 Python 时序和文本:中文文本处理入门:为什么要先做分词和停用词过滤?
中文文本处理入门:为什么要先做分词和停用词过滤? 刚接触文本分析时,很多人都会有一个疑问: 文本明明已经有内容了,为什么不能直接拿去做分类、聚类或者情感分析? 这个问题其实正好指向了文本挖掘里最基础、…...
对抗攻击新思路:为什么Diffusion模型比GAN更适合生成隐蔽攻击样本?
扩散模型在对抗攻击领域的突破性优势:从理论到实践 当我们在讨论机器学习安全时,对抗攻击一直是个令人着迷又充满挑战的话题。想象一下,只需对输入图像做几乎不可察觉的微小改动,就能让最先进的分类模型完全"失明"——这…...
告别C++复杂配置:5分钟在UE5里搞定一个简单的HTTP客户端
告别C复杂配置:5分钟在UE5里搞定一个简单的HTTP客户端 在独立游戏开发和教育领域,快速验证网络交互功能的需求日益增长。无论是从服务器拉取动态配置,还是提交玩家成绩数据,一个轻量级的HTTP客户端往往能大幅提升原型开发效率。传…...
Angular Flex-Layout终极指南:掌握fxLayout、fxFlex、fxLayoutAlign核心指令
Angular Flex-Layout终极指南:掌握fxLayout、fxFlex、fxLayoutAlign核心指令 【免费下载链接】flex-layout Provides HTML UI layout for Angular applications; using Flexbox and a Responsive API 项目地址: https://gitcode.com/gh_mirrors/fl/flex-layout …...
免费获取Cherry MX键帽3D模型:打造个性化机械键盘的终极指南
免费获取Cherry MX键帽3D模型:打造个性化机械键盘的终极指南 【免费下载链接】cherry-mx-keycaps 3D models of Chery MX keycaps 项目地址: https://gitcode.com/gh_mirrors/ch/cherry-mx-keycaps 你是否厌倦了千篇一律的键盘外观?想要拥有独一无…...
