Spring源码分析【9】-SpringSecurity密码Remove原理
很明显代码已经说了认证完成移除credentials和其他某些安全数据
// Authentication is complete. Remove credentials and other secret data
// from authentication
org.springframework.security.authentication.ProviderManager.authenticate
package org.springframework.security.authentication.UsernamePasswordAuthenticationToken.eraseCredentials
org.springframework.security.authentication.AbstractAuthenticationToken.eraseCredentials
eraseSecret需要接口判断
getCredentials()就是密码
getPrincipal()得到的是userInfo
这个userinfo就是CustomUserDetailsService implements UserDetailsService中的函数
public UserDetails loadUserByUsername(String username)返回的UserDetails
UserInfo中的重写的eraseCredentials
第三次eraseSecret是不行的,因为类型不对
回到上一步
这里定义的
回到主调用,这时候密码相关的信息都null了
Spring源码分析【9】-SpringSecurity密码Remove原理相关推荐
- Spring源码分析——汇总全集
文章目录 一.背景 二.源码分析目录 三.源码番外篇(补充) 更新时间 更新内容 备注 2022-04-01 Spring源码分析目录和计划 2022-04-10 Spring源码分析一:容器篇-re ...
- 【spring源码分析】IOC容器初始化(二)
前言:在[spring源码分析]IOC容器初始化(一)文末中已经提出loadBeanDefinitions(DefaultListableBeanFactory)的重要性,本文将以此为切入点继续分析. ...
- Spring源码分析之Bean的创建过程详解
前文传送门: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 Spring源码分析之BeanFactoryPostProcessor调用过程详解 本文内容: 在 ...
- Spring源码分析【1】-Tomcat的初始化
org.apache.catalina.startup.ContextConfig.configureStart() org.apache.catalina.startup.ContextConfig ...
- spring源码分析之spring-core总结篇
1.spring-core概览 spring-core是spring框架的基石,它为spring框架提供了基础的支持. spring-core从源码上看,分为6个package,分别是asm,cgli ...
- 【Spring源码分析】Bean加载流程概览
代码入口 之前写文章都会啰啰嗦嗦一大堆再开始,进入[Spring源码分析]这个板块就直接切入正题了. 很多朋友可能想看Spring源码,但是不知道应当如何入手去看,这个可以理解:Java开发者通常从事 ...
- spring源码分析第六天------spring经典面试问题
spring源码分析第六天------spring经典面试问题 1.Spring5 新特性及应用举例 2.Spring 经典的面试问题 a.什么是 Spring 框架?Spring 框架有哪些主要模块 ...
- spring源码分析第五天------springAOP核心原理及源码分析
spring源码分析第五天------springAOP核心原理及源码分析 1. 面向切面编程.可以通过预 编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术 切面(A ...
- spring源码分析第四天------springmvc核心原理及源码分析
spring源码分析第四天------springmvc核心原理及源码分析 1.基础知识普及 2. SpringMVC请求流程 3.SpringMVC代码流程 4.springMVC源码分析 4.1 ...
- spring源码分析第一天------源码分析知识储备
spring源码分析第一天------源码分析知识储备 Spring源码分析怎么学? 1.环境准备: 2.思路 看:是什么? 能干啥 想:为什么? 实践:怎么做? ...
最新文章
- CTF web题总结--unserizable
- 我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )
- eclipse mysql jndi_Java开发网 - tomcat5配置jndi的问题 (jdbc:comp is not bound in this Context)...
- 世界上有条件JavaScript是什么?
- GoogLeNet的心路历程(四)
- Top10机器学习开源项目发布,历时一个月评出 | 附GitHub地址
- nginx 启动报错 “/var/run/nginx/nginx.pid“ failed” 解决方法
- 秩为1的矩阵,向量,绩的联合使用
- Pow,Pos,Dpos共识机制比较
- C#指南,重温基础,展望远方!(5)C#语句
- seq()函数--R语言
- 廖雪峰Git学习笔记(超级无敌详细)
- 鸿蒙os系统3.0电脑,华为鸿蒙系统升级指南,速看!
- 7-1 求奇数和 (15 分)本题要求计算给定的一系列正整数中奇数的和。输入格式:输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。输出格式:
- Shiro (一) --------- 认识 Shiro
- Excel图表5——旋风图(对称条形图)
- 操作系统用户接口与计算机接口有什么区别,1.操作系统既是硬件与其他软件的接口,又是用户与计算机之间的接口。...
- logic原理图板框制作
- UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the index ing argu
- 点云笔记01---点云基本概念
热门文章
- Android系统的命令行操作及C程序编译
- autoware中lgsvl Simulator安装与使用:LGsvl Simulator 2021.2.1版(九)
- 【论文速读】基于图像的伪激光雷达三维目标检测
- 相机标定 matlab opencv ROS三种方法标定步骤(2)
- Vue搜索框保存临时搜索的记录
- 在SolidWorks 3D CAD中构建乐高直升机
- 基于Python和OpenCV的目标跟踪学习教程 Object Tracking using Python and OpenCV
- LSM 优化系列(六)-- 【ATC‘20】MatrixKV : NVM 的PMEM 在 LSM-tree的write stall和写放大上的优化
- 使用CEfSharp之旅(7)CEFSharp 拦截 http 请求 websocket 内容
- dedecms部分文章出现读取附加信息出错的解决办法