springsecurity中的类

news2024/12/29 9:02:19

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管理

  1. 写自己的Provider
    在这里插入图片描述
  2. 在配置文件中配置
    在这里插入图片描述
    github:https://github.com/water-kid/spring-security/tree/master/springsecurity-mybatis

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/385561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EasyPoi的excel模板预览与下载、导出简单/复杂数据

官方文档地址:easypoi官网,官方仅供参考,部分描述有问题 excel模板预览 准备工作 事先将整理好的excel模板存在项目中,如图 excel模板预览代码 GetMapping("excel")ApiOperation("excel预览")NoLogpubli…

多个关键字用or、and、包含、不包含动态拼接为正则表达式和SQL查询条件

目录前言校验思路1、存储方式2、实现图一实现图二实现结果最后前言 不知道大家有没有做过这种需求:在某字符串中,根据多个关键字去判断这串字符串是否满足条件。如下图: 亦或是 如果说要根据图二的关键字去数据库中查询符合条件的数据&a…

QT基础(18)- QAbstractSocket

QT基础(18)- QAbstractSocket1 创建简单的客户端2 QAbstractSocket2.1 简介2.2 枚举2.2.1 BingFlag2.2.2 NetworkLayerProtocol2.2.3 PauseMode2.2.4 SocketError2.2.5 SocketOption2.2.6 SocketType2.2.7 SocketState2.3 公有函数2.3.1 构造函数2.3.2 a…

文献阅读(47)—— 遗传数据研究近视和眼压与视网膜脱落的关系

文献阅读(47)—— 遗传数据研究近视和眼压与视网膜脱落的关系 文章目录文献阅读(47)—— 遗传数据研究近视和眼压与视网膜脱落的关系遗传数据研究近视和眼压与视网膜脱落的关系先验知识/知识拓展文章结构文章结果1. 视网膜脱落风险…

centos8安装docker运行java文件

本文由个人总结,如需转载使用请标明原著及原文地址 这里是基于我前一篇搭的centos8服务器做的,如果yum baseos源或appstream源有问题可以去看看前一篇 https://blog.csdn.net/qq_36911145/article/details/129263830 1.安装docker 1.1配置docker yum…

惠普战66pro如何选购内存条?一篇文章讲解清楚

笔记本:惠普 ZHAN66 PRO CPU:Intel Core™ i-8565U CPU 1.80GHz 内存条:Samsung PS: 如果有需要更换硬盘的可以看我之前发的文章,博主进行了长时间的测试。 硬盘选购长测评 文章目录前言一、内存是什么?二、如何操作呢…

错误:EfficientDet网络出现“No boxes to NMS“并且mAP:0.0的解决方案

近日,在使用谷歌新推出来的一个网络EfficientDet进行目标检测训练自己的数据集的时候,出现了如下错误: 其中项目开源地址是:https://github.com/toandaominh1997/EfficientDet.Pytorch 上面截图中的1和2代表我的类别名称。读者可…

【计算机二级python】综合题题目

计算机二级python真题 文章目录计算机二级python真题一、八十天环游世界二、八十天环游世界 问题一二、八十天环游世界 问题二一、八十天环游世界 附件中保存1个文本文件,分别对应2个问题‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬…

315线上知识竞赛答题活动方案及模板分享

315线上知识竞赛答题活动方案及模板分享在315国际消费者权益日来临之际, 很多单位推出有奖知识竞答, 希望大家在了解专业知识的同时, 还可以拿到自己喜欢的奖品!这是消费者委员会和监管局联合举办的“315消费知识在线有奖竞答”活…

Springboot怎么集成Thymeleaf模板引擎?

Thymeleaf介绍Thymeleaf,是一个XML/XHTML/HTML模板引擎,开源的java库,可以用于SpingMVC项目中,用于代替JSP、FreeMarker或者其他的模板引擎;页面与数据分离,提高了开发效率,让代码重用更容易。S…

【JavaScript速成之路】JavaScript流程控制

📃个人主页:「小杨」的csdn博客 🔥系列专栏:【JavaScript速成之路】 🐳希望大家多多支持🥰一起进步呀! 文章目录前言1,流程控制2,分支结构2.1,if语句2.2&…

时机将至,名创优品或将再掀起一波消费热浪

北京时间2月28日,名创优品发布2023财年中报,财报显示,2023财年第二季度营收规模有所收窄,但净利润、毛利率、门店数量均实现了不错的增长,总体表现可圈可点。 (资料来源:富途牛牛) …

PIC单片机的快速代码生成和调试过程

1.相关工具说明:MCC ...................................Pic的代码模板软原始安装包:mcc-installer-5.2.2-windows.exeMPLAB X IDE ........................... 集成开发环境原始安装包:MPLABX-v6.00-windows-installer.exe编译环境&#x…

自动驾驶目标检测项目实战——基于深度学习框架yolov的交通标志检测

自动驾驶目标检测项目实战——基于深度学习框架yolov的交通标志检测 目前目标检测算法有很多,流行的就有faster-rnn和yolov,本文使用了几年前的yolov3框架进行训练,效果还是很好,当然也可以使用更高版本的Yolov进行实战。本代码使…

八股总结(一)C++语法、内存管理、新标准、STL

layout: post title: 八股总结(一)C语法、内存管理、新标准、STL description: 八股总结(一)C语法、内存管理、新标准、STL tag: C 文章目录基础语法语言特性面向对象的三大特性?C中新增了string,它与C语言…

Acwing---843. n-皇后问题

n-皇后问题1.题目2.基本思想3.代码实现1.题目 n−皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n,请你输出所有的满足条件的棋子摆法。 …

数据库调优策略

1.数据库调优的措施 1.1.调优的目标 尽可能节省系统资源,以便系统可以提供更大负荷的服务。(吞吐量更大)合理的结构设计和参数调整,以提高用户操作 响应的速度。(响应速度更快)减少系统的瓶颈,提高MySQL数据库整体的性能 1.2.如何定位调优…

Qt 绘制图表 - Qt Charts版

一、前言 自从 Qt 发布以来,给广大跨平台界面研发人员带来了无数的福利。但是Qt自己却一直没有提供自带的图表库,这就使得 QWT、QCustomPlot 等第三方图表库有了巨大的生存空间,为了降低开发成本,大家都涌向了这些第三方库。这种…

appium的安装详解

安装appium 爬虫手机APP需要实现自动化,所以要使用appnium来实现点击,输入,滑动等操作。由于appnium的安装较为繁琐,所以特意整理一篇文章来展示安装的详细过程过程中。 安装appnium共有3个步骤 安装 Android SDK安装 JDK安装 …

W800系列|ST-LINK|STM32最小版|HEX文件|CKLINK|DebugServer|学习(3):自制cklink调试工具

硬件准备 1.stm32最小系统板:stm32c8t6 2.stlink下载器:stlink v2版本 软件安装: 1、STM32 ST-LINK Utility(官网下载) 2、csky IDE: 剑池CDK集成开发环境V2.18.2 https://occ.t-head.cn/community/download?id…