erase-credentials配置

转自:Spring Security怎样不让默认的ProviderManager清除密码等信息

<authentication-manager erase-credentials="false">
...
</authentication-manager>

erase-credentials默认为true,会在ProviderManager(默认的AuthenticationManager实现)的方法

public Authentication authenticate(Authentication authentication) throws AuthenticationException

返回前调用

((CredentialsContainer)result).eraseCredentials();

清除credentials等信息,所以我们使用

SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
Authentication authentication = securityContextImpl.getAuthentication();
// 登录密码,未加密的
String password = (String)(authentication.getCredentials());

password总是为null。

将erase-credentials设置为false后,不会清除这些保密信息,但是建议在使用完之后自己调用eraseCredentials()清楚这些信息。

时间: 2024-10-11 00:02:23

erase-credentials配置的相关文章

SSRS Credentials配置

1,Service Account Service Account 是Reporting Service 运行的账户,可以通过查看Windows 的 Service 来查看,强烈建议使用 Reporting Service Configuration Manager 来修改Reporting Service的Account. 在修改Reporting Service的Account时,Reporting Service Configuration Manager执行的操作. 2,链接到Repor

ciso 9124配置笔记

ciso 9124配置笔记 新建 网络,常用命令 初始化配置 ciso 9124的默认用户名密码为:admin,[email protected] 机器新开机进入初始化模式,第一个问题是否进入dialog模式,选择no,如果选择yes则进入交互模式,选择no则进入CLI模式 输入用户名密码进入命令行模式:admin,[email protected] 设置交换机的管理地址 switch# config t switch (config)# switchname switch switch(con

Jenkins系列之-—05 节点配置

一.节点配置 1. 进入[系统管理]-[节点管理]-[新建节点],录入节点名,选择Permanent Agent,下一步录入节点详细配置信息,如下: Name:节点名称 Description:节点描述 # of executors:并发构建数(根据机器的性能定,单颗四核cpu建议不要超过5) Remote FS root:节点的根目录(注意:如果目录不存在,会自动创建目录.你必须对该目录有读写权限,不然会报错:hudson.util.IOException2: Failed to copy x

docker 学习总结

Docker 是一个容器工具,提供虚拟环境.解决了软件的环境配置和依赖问题,让软件可以带环境和依赖的安装. Docker 将应用程序与该程序的依赖,打包在一个文件里面.运行这个文件,就会生成一个虚拟容器.程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样.有了 Docker,就不用担心环境问题. 1. 注册 docker 账号 想要使用docker,先注册一个docker账号,注册docker账号. 注册完成后,登录到 docker hub 就能看到自己的 docker 镜像了,docke

第十一章、认识与学习 BASH

1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 shell 与 /etc/shells 功能 1.4 Bash shell 的功能 1.5 Bash shell 的内建命令: type 1.6 命令的下达 2. Shell 的变量功能 2.1 什么是变量? 2.2 变量的取用与配置:echo, 变量配置守则, unset 2.3 环境变量的功能: env 与常见环境变量说明, set, export 2.4 影

(整理)ubuntu 的 相关知识(来自 鸟哥的私房菜)

1. Linux 文件权限概念 $ ls 察看文件的指令 $ ls -al 出所有的文件详细的权限与属性 (包含隐藏档,就是文件名第一个字符为『 . 』的文件) 在你第一次以root身份登入Linux时, 如果你输入上述指令后,应该有上列的几个东西,先解释一下上面七个字段个别的意思: 图2.1.1.文件属性的示意图 第一栏代表这个文件的类型与权限(permission): 这个地方最需要注意了!仔细看的话,你应该可以发现这一栏其实共有十个字符:(图2.1.1及图2.1.2内的权限并无关系) 图2

jenkins简单入门使用(WEB)

一 安装 首先保证系统中已经安装了jdk,最好是jdk1.5以上. http://jenkins-ci.org/  下载本机环境相对应安装包 windows 运行java –jar Jenkins.war. mac  直接安装下载jenkins文件. 在浏览器中输入 http://localhost:8080 访问. jenkins默认会存放在用户主目录下的.jenkins文件夹中. mac  保存在 /Users/Shared/Jenkins 本地安装在虚拟机CentOS上面. 注意安装JAV

gitlab+jenkins环境搭建.md

gitlab+jenkins自动化部署环境搭建 环境说明 系统 主机 IP 安装软件 CentOS 7 study-1 192.168.100.51 gitlab.git CentOS 7 study-2 192.168.100.52 jdk.maven.jenkins.git CentOS 7 study-3 192.168.100.53 tomcat.mysql.jenkins.git 所有系统的selinux和iptables都已经关闭,同时需要做好时间同步,机器的hosts文件如下: 1

基于jenkins搭建一个持续集成服务器

1 引言 1.1 编写目的 指导质量管理部,业务测试组同事进行Jenkins环境部署,通过Jenkins解决测试环境不可控,开发测试环境不一致等问题. 1.2 使用对象 质量管理部.基础研发部,集成部署部及EMT 目标受众: 本文的预期受众是从事持续交付或持续自动测试工作的软件工程师.要想按照本文中的步骤进行操作,您应该理解: 脚本开发. 软件开发流程. 1.3 持续集成概述 1.3.1 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成

bash的操作环境[转]

  Bash Shell 的操作环境: 是否记得我们登陆主机的时候,屏幕上头会有一些说明文字,告知我们的 Linux 版本啊什么的, 还有,登陆的时候我们还可以给予用户一些信息或者欢迎文字呢.此外, 我们习惯的环境变量.命令别名等等的,是否可以登陆就主动的帮我配置好? 这些都是需要注意的.另外,这些配置值又可以分为系统整体配置值与各人喜好配置值, 仅是一些文件放置的地点不同啦!这我们后面也会来谈一谈的! 路径与命令搜寻顺序 我们在第六章与第七章都曾谈过『相对路径与绝对路径』的关系, 在本章的前几