Spring源码分析【9】-SpringSecurity密码Remove原理

原创 2016年08月29日 18:36:00

很明显代码已经说了认证完成移除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了


版权声明:本文为博主原创文章,未经博主允许不得转载。

Java----- ArrayList构造、add、remove、clear方法实现原理源码分析

一.ArrayList内部的实现方式 ArrayList内部是通过Object[]实现的。 二.源码分析: (1).构造方法 public ArrayList() { ...

SpringSecurity初探之认证源码分析

首先,笔者初学SpringSecurity,因此本文章提供的观点不一定正确,笔者也没有具体求证(主要是能力有限)。因此请读者带着批判质疑的眼光浏览。 大概的原理分析(其实是别人分析过,这边进行...

springSecurity源码分析——DelegatingFilterProxy类的作用

原文:http://www.cnblogs.com/hzhuxin/archive/2011/12/19/2293730.html springSecurity源码分析——Delegatin...

[置顶] SpringSecurity 源码分析一

通过SecurityContextHolder.getContext()获得SecurityContext   总接口SecurityContextHolderStrategy private ...

Spring学习笔记-C9-SpringSecurity

Chapter09 Spring Security9.1 Spring Security简介Spring Security 是为基于Spring的应用程序提供声明式安全保护的安全性框架。SpringS...

springboot源码分析9-random的使用以及原理

摘要:springboot框架为我们提供了很多的便利,其中有一个非常有意思的功能,那就是可以通过变量的方式来配置一个随机数random,然后使用random随机出各式各样数值。本位重点讲解一下rand...

springsecurity3 学习笔记源码分析所得

  • 2013年07月12日 12:56
  • 39.92MB
  • 下载

Spring Security3源码分析(9)-SecurityContextHolderAwareRequestFilter分析

SecurityContextHolderAwareRequestFilter过滤器对应的类路径为  org.springframework.security.web.servletapi.Secu...

jQuery源码分析之remove和detach方法的区别

请提前阅读:点击打开链接 detach源码分析: detach: function( selector ) { return this.remove( selector, true ); } 可...

分析LinkedList源码的add和remove函数

首先说明说明一下LinkedList的结构。其实内部构造大致分为Link内部类private static final class Link { ET data; //p...
  • Fourlm
  • Fourlm
  • 2016年10月26日 22:28
  • 81
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring源码分析【9】-SpringSecurity密码Remove原理
举报原因:
原因补充:

(最多只允许输入30个字)