SpringSecurity系列——记住我(remember me)day3-3(源于官网5.7.2版本)

SpringSecurity系列——记住我(remember me)day3-3(源于官网5.7.2版本)

前言

源于官方最新5.7.2文档,若你觉得官方文档阅读起来很枯燥,内容复杂,我提供了解析概括在每个部分的结尾,我对官方文档的内容做了一些改变,实例代码我会在后续进行更新,请查看如:SpringSecurity系列——认证架构实例代码的文章

但是如果你有能力,还是推荐直接阅读官方文档

remember me(记住我)

记住我或持久登录身份验证是指网站能够记住会话之间主体的身份。 这通常是通过向浏览器发送 cookie 来完成的,该 cookie 在未来的会话中被检测到并导致自动登录发生。 Spring Security 为这些操作的发生提供了必要的钩子,并且有两个具体的 remember-me 实现。 一种使用散列来保护基于 cookie 的令牌的安全性,另一种使用数据库或其他持久存储机制来存储生成的令牌。

请注意,这两种实现都需要一个 UserDetailsService. 如果您使用的身份验证提供程序不使用 UserDetailsService(例如,LDAP 提供程序)那么它将无法工作,除非您也有 UserDetailsService bean 在您的应用程序上下文中

简单基于哈希的令牌方式

这种方法使用散列来实现有用的记住我的策略。 本质上,在交互式身份验证成功后会向浏览器发送一个 cookie,该 cookie 的组成如下

base64(username + ":" + expirationTime + ":" +
md5Hex(username + ":" + expirationTime + ":" password + ":" + key))

username:          As identifiable to the UserDeta
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值