文档章节

Spring Security 中取得 RememberMe 的 cookie 值

郁也风
 郁也风
发布于 2014/06/24 22:08
字数 306
阅读 983
收藏 4
点赞 0
评论 0

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

Spring Seucrity 之 Remember Me

Spring Security 提供了Remember-me机制用来实现记录用户的登录状态。方便用户下 次自动登录。Spring Security 对此操作提供了必要的钩子,remember-me有两个固定的实现 一个是使用把用户登录...

枫叶飘零 ⋅ 2013/08/08 ⋅ 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

Spring Security 退出

Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转...

李玉长 ⋅ 05/05 ⋅ 0

SpringBoot +spring security 与CSRF有关的几个 问题

1、问题 开启 csrf 后 列表页面没有数据 页面console.log(403) 2、科普 首先,科普一下,什么是"CSRF"? 这是一个web应用安全的问题,CSRF(Cross-site request forgery)跨站请求伪造,也被称...

douruanliang ⋅ 05/15 ⋅ 0

第十三章 RememberMe——《跟我学Shiro》

目录贴: 跟我学Shiro目录贴 Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下...

Zero零_度 ⋅ 2016/03/21 ⋅ 0

spring boot ,spring security如何禁用session

spring boot 2.0.2项目中使用spring security和 JWT进行登录认证, 在spring security配置中禁用session 请求接口后,浏览器的cookie中还是有JSESSIONID, spring boot 内置的Tomcat中还是创...

bithup ⋅ 前天 ⋅ 0

shiro 之 认证登录的demo

1 shiro登录的简单demo 1.1 web.xml添加shiroFilter <!-- shiro过虑器,DelegatingFilterProx会从spring容器中找shiroFilter --> <filter> <filter-name>shiroFilter</filter-name> <filter......

龙之天空 ⋅ 2015/11/17 ⋅ 2

shiro在springmvc里面的集成使用【转】

<dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>net.sf.ehcache</gro......

看到了打开了 ⋅ 2016/10/20 ⋅ 1

shiro在springmvc里面的集成使用【转】

<dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>net.sf.ehcache</gro......

梵蒂冈考虑过 ⋅ 2016/09/25 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 33分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 35分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 45分钟前 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 48分钟前 ⋅ 0

我的第一篇个人博客

虽然这是个技术博客,但是,我总是想写一些自己的东西,所有就大胆的在这里写下了第一篇非技术博客。技术博客也很久没有更新,个人原因。 以后自己打算在这里写一些非技术博客,可能个人观点...

Mrs_CoCo ⋅ 49分钟前 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 49分钟前 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 52分钟前 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 今天 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 今天 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部