1.AbstractAuthenticationProcessingFilterHttpServletRequest中创建Authentication
Authentication的类型根据AbstractAuthenticationProcessingFilter的子类决定,比如:
1)UsernamePasswordAuthenticationFilter 创建一个UsernamePasswordAuthenticationToken
所以如果遇到不能认证的Token就会抛出异常

2.Authentication传入AuthenticationManager认证

3.如果认证失败:
1)清空上下文
2)调用RememberMeServices.loginFail
2)调用AuthenticationFailureHandler

4.如果成功
1)SessionAuthenticationStrategy注意新的登录
2)SecurityContextHolder中保存Authentication,接下来还会保存到HttpSession
3)调用RememberMeServices.loginSuccess
4)调用ApplicationEventPublisher
5)调用AuthenticationSuccessHandler

参考:
https://docs.spring.io/spring-security/site/docs/5.4.5/reference/html5/#servlet-authentication-abstractprocessingfilter

SpringSecurity AbstractAuthenticationProcessingFilter相关推荐

  1. echarts前后端交互数据_SpringBoot2.0实战(26)整合SpringSecurity前后端分离JSON交互...

    在前端的文章中,我们实现了使用 SpringSecurity 实现登录鉴权,并使用数据库存储用户信息,实现登录鉴权 SpringBoot2.0实战(24)整合SpringSecurity之最简登录方法 ...

  2. SpringtBoot+SpringSecurity+Jwt+MyBatis整合实现用户认证以及权限控制

    文章目录 前言 数据库表结构 项目结构图 核心配置类SecurityConfig 实体类 工具类 用户登录认证 Token令牌验证 获取用户权限 用户权限验证 Service层实现类 统一响应类 Co ...

  3. SpringSecurity自定义UsernamePasswordAuthenticationFilter

    UsernamePasswordAuthenticationFilter介绍 UsernamePasswordAuthenticationFilter是AbstractAuthenticationPr ...

  4. spring-security权限控制详解

    在本例中,主要讲解spring-boot与spring-security的集成,实现方式为: 将用户.权限.资源(url)采用数据库存储 自定义过滤器,代替原有的 FilterSecurityInte ...

  5. SpringSecurity认证流程分析

    SpringSecurity使用数据库数据完成认证 认证流程 先看主要负责认证的过滤器UsernamePasswordAuthenticationFilter,有删减,注意注释. 上面的过滤器的意思就 ...

  6. Spring-Security 自定义Filter完成验证码校验

    Spring-Security的功能主要是由一堆Filter构成过滤器链来实现,每个Filter都会完成自己的一部分工作.我今天要做的是对UsernamePasswordAuthenticationF ...

  7. 【SpringSecurity系列02】SpringSecurity 表单认证逻辑源码解读

    概要 前面一节,通过简单配置即可实现SpringSecurity表单认证功能,而今天这一节将通过阅读源码的形式来学习SpringSecurity是如何实现这些功能, 前方高能预警,本篇分析源码篇幅较长 ...

  8. springSecurity 登录以及用户账号密码解析原理

    springSecurity 拦截器链 用户登录基本流程处理如下: 1 SecurityContextPersistenceFilter 2 AbstractAuthenticationProcess ...

  9. SpringSecurity Form Login

    登录过程 1)首先,访问没有授权的/private 2)FilterSecurityInterceptor拒绝访问,并抛出AccessDeniedException 3)ExceptionTransl ...

最新文章

  1. Oracle procedure
  2. tkinter的函数与实例
  3. 装修行业难互联网化?利润不合理并非本质,体制才是
  4. 用grub4dos修复grub
  5. mysql数据万能导入工具下载_mysql数据导入工具下载 - 数据导入工具(EMS Data Export for MySQL) v3.7.0多语特别版下载 - 第九软件网...
  6. wordpress主题的样式修改
  7. Nacos Spring Cloud 快速开始
  8. paper reading: roi 区域对人脸测试心率有用
  9. redis基础_NOSQL介绍
  10. css3 图标效果,css3图标_纯CSS3图标旋转效果代码
  11. 洛谷:P2142 高精度减法
  12. 大一下c语言笔记本电脑,适合大一新生的笔记本电脑排行榜2020_大一新生适合什么笔记本电脑...
  13. APP-安装cisco anyconncet app for mac inter
  14. 计算机教室布置软木,软木照片墙布置,让孩子体验手工的乐趣
  15. Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件...
  16. 解析ArcGis的字段计算器(四)——日期字段计算
  17. 上三角形矩阵和下三角形矩阵的特征值是对角线元素
  18. 电子行业订单进度追踪的解决方案
  19. Bilibili Mini 客户端
  20. 国标28181:IPC信号检索设备目录查询

热门文章

  1. python自动卸载win程序_利用python实现自动扫雷程序
  2. Python中修饰器的定义与使用
  3. Python+tkinter实现任意多层级关系的组合框
  4. 霍尼韦尔dcs系统组态手册_DCS和PLC有“血缘关系”吗?
  5. ipython版本_1. Python版本的选择与安装
  6. oracle pk_serial,Oracle 常用技巧和脚本-数据库专栏,ORACLE
  7. linux启动有两个选择,RHEL5 用CentOS源升级,GRUB出现CentOS,RHEL两个启动项,选择哪一个?...
  8. C++之new和delete探究
  9. C++新特性探究(八):初始化列表(Initialization List)再探究
  10. php青茶什么时候拆,茶叶保质期多长时间 黑绿红白黄青茶的保质期为多久