文档章节

Spring Security 中取得 RememberMe 的 cookie 值

郁也风
 郁也风
发布于 2014/06/24 22:08
字数 306
阅读 985
收藏 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!!!

© 著作权归作者所有

共有 人打赏支持
郁也风
粉丝 15
博文 19
码字总数 10567
作品 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
《Spring Security3》第三章第四部分翻译(修改密码)

实现修改密码管理 现在我们将要对基于内存的UserDetailsService进行简单的扩展以使其支持用户修改密码。因为这个功能对用户名和密码存于数据库的场景更有用,所以基于o.s.s.core.userdetail...

小样
2012/03/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

angular指令监听ng-repeat渲染完成后执行自定义事件方法

今天工作中遇到需要用到ng-repeat遍历渲染完后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己创建自定义指令。 在ng-repeat模板实例内部会暴露出一些特殊属...

孟飞阳
34分钟前
1
0
URLEncoder和URLDecoder

public static void main(String[] args) { String str1 = "https://test1-life.pingan.com/ilifecore/productMall/loading.html?productId=8000000241&channelCode=XCX00001&productCode=00......

鬼才王
44分钟前
2
0
对象及变量的并发访问-第一篇

方法内部的变量为线程安全变量 “非线程安全”问题存在于“共享变量”中,如果是方法内部的私有变量,则不存在“非线程安全”问题,所得结果也就是“线程安全”的。 package chaprer3;/**...

简心
44分钟前
1
0
程序媛眼中的程序猿原来是这样子的!

一直都想写一篇关于描述程序员的文章,但是一直没能开头,一来因为文笔不好,更主要的原因是貌似对程序员既熟悉又不熟悉,很怕写出来的是以偏概全,给大家造成对程序员的既定印象,不过,管他...

Java小铺
今天
1
0
bean标签

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 bean标签 bean标签中的init-method属性,该属性...

凯哥学堂
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部