springsecurity中的类
创始人
2024-05-28 14:50:13
0

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

相关内容

热门资讯

综合整治“内卷式”竞争 政策引... 出口汽车在苏州港太仓港区码头集中装载上“深圳号”汽车运输船。 自2024年中央经济工作会议提出“综...
中国籍雇员权益保护的重要制度创... 钟 佳 《外国驻华外交领事机构中国籍雇员管理条例》(以下简称《条例》)是新中国第一部外交外事服务领域...
贯彻中国籍雇员管理条例 为中国... 黄惠康 国务院常务会议通过的《外国驻华外交领事机构中国籍雇员管理条例》(以下简称《条例》)已正式公布...
兰石重装(603169)披露制... 截至2025年12月29日收盘,兰石重装(603169)报收于10.59元,较前一交易日下跌0.28...
教育部明确学前儿童建学籍,多地... “凡在依法举办的幼儿园就读的学前儿童均须建立学籍,一人一号,小学学段接续使用,终身不变,学籍变动管理...
北京市房屋建筑使用安全条例 北京市人民代表大会常务委员会公告 〔十六届〕第46号 《北京市房屋建筑使用安全条例》已由北京市第十六...
吉比特(603444)披露制定... 截至2025年12月29日收盘,吉比特(603444)报收于423.52元,较前一交易日下跌2.3%...
《北京市房屋建筑使用安全条例》... 《北京市房屋建筑使用安全条例》(以下简称《条例》)已由北京市第十六届人民代表大会常务委员会第二十次会...
股市必读:ST葫芦娃因涉嫌违反... 截至2025年12月29日收盘,ST葫芦娃(605199)报收于8.41元,下跌4.97%,换手率0...
公告精选 | 赣锋锂业涉嫌内幕... 风险提示 天箭科技(002977.SZ):公司相关军品2025年度进行了价格审核,与客户签订了《军品...