文档章节

Spring Security 中取得 RememberMe 的 cookie 值

郁也风
 郁也风
发布于 2014/06/24 22:08
字数 306
阅读 991
收藏 4

Spring Security 中的 RememberMe 对应的 cookie 名称是可配置的——相信一般情况下大家也不会使用那个默认的值吧。不过既然是可配置的,我们一般就尽量不在程序中直接写这个名称,想取得此名称对应的 cookie 值就得做一些扩展了。

java 代码如下,本质很简单,就是将 protected 方法改为 public(SS 有点多此一举)。

<pre> /** * 将 extractRememberMeCookie 方法由父类的 protected 改为 public,并在其它地方取得 RememberMe 的 * cookie 内容。 * * 例如用来判断请求中是否存在 RememberMe 信息。 * * @author wjx * */ public class CustomTokenBasedRememberMeServices extends TokenBasedRememberMeServices { /** * 可以通过构造函数传入 key 和 service * * @param key * @param userDetailsService */ public CustomTokenBasedRememberMeServices(String key, UserDetailsService userDetailsService) { super(key, userDetailsService); } @Override public String extractRememberMeCookie(HttpServletRequest request) { return super.extractRememberMeCookie(request); } @Override public String getCookieName() { return super.getCookieName(); } } </pre>

然后在 xml 中做如下配置即可:

<beans:bean id="rememberMeServices"
	class="com.someok.module.admin.security.CustomTokenBasedRememberMeServices">
	<beans:constructor-arg index="0"
		value="XXXXXXXXX" />
	<beans:constructor-arg index="1"
		ref="userDetailsService" />

	<beans:property name="cookieName" value="REMEMBER_ME" />
	<!-- 30 days -->
	<beans:property name="tokenValiditySeconds" value="2592000" />
</beans:bean>

在 service 中调用的时候:

@Autowired
CustomTokenBasedRememberMeServices rememberMeServices;

String value = rememberMeServices.extractRememberMeCookie(request);

Over!!!

© 著作权归作者所有

共有 人打赏支持
郁也风
粉丝 16
博文 25
码字总数 13007
作品 0
长宁
项目经理
私信 提问
SpringBoot集成Spring Security(2)——自动登录

在上一章:SpringBoot集成Spring Security(1)——入门程序中,我们实现了入门程序,本篇为该程序加上自动登录的功能。 源码地址:https://github.com/jitwxs/blogsample Step1 修改login.h...

yuanlaijike
05/09
0
0
利用Spring Security 3.2的remember-me搭建SSO

回顾 在上一篇文章,我实现了Spring Security3.2搭建的第一个网站应用firstWeb. 进阶-使用Spring Security3.2搭建LDAP认证授权和Remember-me。 而在更早的时候,我有使用Apache+tomcat搭建c...

xpbug
2014/02/26
0
0
spring boot(五)spring security

Spring security 1.认证Authentication,确认用户可以访问当前系统 重写protect void configure(AuthenticationManagerBuilder auth){ 1. auth.inMemoryAuthentication() .withUser(“ss”)......

sun_tantan
07/02
0
0
SpringSecurity3.X--remember-me

http://blog.sina.com.cn/s/blog_8020e411010155lf.html SpringSecurity3.X--remember-me (2012-04-20 15:03:14) 转载▼ 标签: it 分类: javaEE 在SpringSecurity中配置remember-me时,遇到......

nibilly
2015/11/03
0
0
Apache Shiro不能RememberMe

我shiro和spring集成,在浏览器也看不到有RememberMe cookie 配置是

NestleCaau
2014/07/24
520
2

没有更多内容

加载失败,请刷新页面

加载更多

Shell脚本——cat/EOF输出多行

在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中。(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也...

吴伟祥
10分钟前
1
0
线程安全性的文档化(70)

当一个类的实例或者静态方法被并发使用的时候,这个类的行为如何, 是该类与客户端程序的行为约束 如果文档中没有相关描述,那么可能导致未同步或过度同步的情况 并不是说文档中出现Synchro...

Java搬砖工程师
12分钟前
0
0
ubuntu16.04下安装postgresql 10.3

在网上找了不少博客,结果还是一大坨的坑要我踩,踩完之后总结一下下吧!(适合初学者) 环境及资源 Linux版本:ubuntu16.04 PostgresSQL版本:postgresql-10.3 PostgreSQL官网下载地址:htt...

杨鹏飞乀
14分钟前
0
0
.NET Core 2.1 跨域问题的解决

https://blog.csdn.net/qq_42220663/article/details/82381386

lsy999
24分钟前
0
0
LinkedList基本用法

LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用. LinkedList的构造函数如下 1. public LinkedList(): ——生成空的链表 2. public LinkedList(Collection col)...

whoisliang
26分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部