欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

Spring Security 中取得 RememberMe 的 cookie 值

发布时间:2023/12/20 javascript 71 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Spring Security 中取得 RememberMe 的 cookie 值 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

为什么80%的码农都做不了架构师?>>>   

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!!!

转载于:https://my.oschina.net/someok/blog/283686

总结

以上是生活随笔为你收集整理的Spring Security 中取得 RememberMe 的 cookie 值的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。