当前位置: 首页 > news >正文

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

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

相关文章:

  • k8s配置管理
  • 技术官方文档中的代码是用什么展示的?代码高亮插件总结
  • 2023年中职组网络安全竞赛——综合渗透测试解析
  • 【全网最细PAT题解】【PAT乙】1044 火星数字(测试点2,测试点4详细解释)
  • rsync+xinetd+inotify+sersync
  • CSS - 扫盲
  • ChatGPT能完全取代软件开发吗,看看它怎么回答?
  • Vue3学习笔记
  • 【React】pro-mobile
  • Substrate 基础教程(Tutorials) -- 授权特定节点
  • 使用qemu-img转换镜像格式
  • Springboot怎么集成Thymeleaf模板引擎?
  • LiveGBS国标GB/T28181视频流媒体平台-功能视频集中录制存储云端录像H264|H265|HEVC视频存储
  • IntelliJ IDEA如何整合Maven图文教程详解
  • 图数据库认证考试 NGCP 错题解析 vol.02:这 10 道题竟无一人全部答对
  • 188888
  • 华为机试题:HJ99 自守数(python)
  • 如何提高推广邮件的发送成功率?
  • 关于提高PX4抗风性
  • AVL 树实现
  • 跟我学c++高级篇——模板元编程之八惰性加载
  • 【Python入门第二十二天】Python 类和对象
  • qml的进度条
  • Pycharm补丁包使用教程
  • 用VAE生成图像
  • 你只会说MVC模型是什么但是不会实现?今天带你走通Web、Servlet、MVC、SpringMVC。代码演示很清晰
  • C++中邻接矩阵、邻接表、链式前向星具体用法及讲解
  • appium的安装详解
  • STM32之 串口
  • CSDN 编程竞赛三十三期题解