springsecurity框架的学习,根据操作修改后台ssm项目进行学习,实现记住我的功能(实现流程)(九)

数据库安全升级:将Cookie存储改为数据库并实现Remember Me功能
本文详细介绍了如何在Spring Security中将用户记住我功能的cookie改为存储在数据库中,以提高安全性。步骤包括前端配置、开启数据库连接、创建持久登录表,并更新Remember Me配置。

前面已经分析的源码,现在开始说使用流程

1 前端按照人家框架的原则进行书写

name值必须是那个,value的值必须是源码里面的那几个,现在是选择了true

<div class="col-xs-8">
						<div class="checkbox icheck">
							<label><input type="checkbox" name="remember-me" value="true"> 记住 下次自动登录</label>
						</div>
					</div>

2 手动开启记住我功能的过滤器

默认是不开启的

在这里插入图片描述

    <!--开启remember me过滤器,设置token存储时间为60-->
        <security:remember-me
                token-validity-seconds="60"
                remember-me-parameter="remember-me"/>

以上就实现了记住我的功能

问题

但是现在还有一个问题,那就是cookie是保存在浏览器上面的,如果有人拿上浏览器上面的cookie,在其他的浏览器上面就可以登录了,这个安全问题有待解决,所以,我们要将cookie保存在数据库

解决,将token记录到数据库

既然cookie要保存在数据库,所以要在数据库里面创建一张表
创建一张表,注意这张表的名称和字段都是固定的,不要修改。

CREATE TABLE `persistent_logins` (
`username` varchar(64) NOT NULL,
`series` varchar(64) NOT NULL,
`token` varchar(64) NOT NULL,
`last_used` timestamp NOT NULL,
PRIMARY KEY (`series`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

修改记住我的配置

<!--
开启remember me过滤器,
data-source-ref="dataSource" 指定数据库连接池
token-validity-seconds="60" 设置token存储时间为60秒 可省略
remember-me-parameter="remember-me" 指定记住的参数名 可省略
-->
<security:remember-me data-source-ref="dataSource"
token-validity-seconds="60"
remember-me-parameter="remember-me"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一写代码就开心

你的打赏将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值