SpringSecurity的记住我

简介: 记住我现在的情况,我们只要登录之后,关闭浏览器,再登录,就会让我们重新登录,但是很多网站的情况,就是有一个记住密码的功能,这个该如何实现呢?很简单

记住我
现在的情况,我们只要登录之后,关闭浏览器,再登录,就会让我们重新登录,但是很多网站的情况,就是有一个记住密码的功能,这个该如何实现呢?很简单

1、开启记住我功能

//定制请求的授权规则
@Override
protected void configure(HttpSecurity http) throws Exception {
//。。。。。。。。。。。
   //记住我
   http.rememberMe();
}

2、我们再次启动项目测试一下,发现登录页多了一个记住我功能,我们登录之后关闭 浏览器,然后重新打开浏览器访问,发现用户依旧存在!

思考:如何实现的呢?其实非常简单

我们可以查看浏览器的cookie
1673575014376.png

3、我们点击注销的时候,可以发现,spring security 帮我们自动删除了这个 cookie

1673575023213.png

4、结论:登录成功后,将cookie发送给浏览器保存,以后登录带上这个cookie,只要通过检查就可以免登录了。如果点击注销,则会删除这个cookie,具体的原理我们在JavaWeb阶段都讲过了,这里就不在多说了!

相关文章
|
12月前
|
人工智能 弹性计算 IDE
你用AI编程用到什么深度了?
你用AI编程用到什么深度了?
你用AI编程用到什么深度了?
|
存储 设计模式 Dart
Flutter笔记:GetX模块中不使用 Get.put 怎么办
依赖注入(Dependency Injection,对于很多真的就是简单的局部共享状态的场景,自己实现单例我个人感觉反而更好。首先,你不需要集中于创建代码初期就从各个模块中导入你的各个控制器,也不需要预先在应用初始化时就创建它们的实例,从而将实例添加到GetX依赖中进行管理。这使得mian文件中的代码更加简洁。如果某个局部状态控制器被移除,你也不需要回到mian文件中来对代码进行改动,只需要删除不用的部分。其次,在Dart语言中,为面向对象的单例实现提供了很方便的支持,仅仅三个小步骤就可以实现严格管理单例。
366 1
|
Go
Golang语言结构体(struct)面向对象编程进阶篇(封装,继承和多态)
这篇文章是关于Go语言中结构体(struct)面向对象编程进阶篇的教程,涵盖了Go语言如何实现封装、继承和多态,以及结构体内存布局的相关概念和案例。
601 4
|
虚拟化
VM虚拟机只有一个C盘怎么添加硬盘新分区盘符
关于如何在VMware虚拟机中解决只有一个C盘的问题,介绍了增加硬盘和创建新分区的方法。
VM虚拟机只有一个C盘怎么添加硬盘新分区盘符
|
SQL 存储 安全
使用 SpringBoot 访问 MySQL 数据库
创建一个 MySQL 数据库,构建一个 Spring 应用程序,并将其连接到新创建的数据库。
638 0
|
JavaScript
vue常用正则表达式判断身份证格式
这两个正则表达式分别用于验证18位和15位身份证号码。请注意,正则表达式只能用于初步验证身份证格式是否正确,不能验证身份证号码是否真实有效。在实际应用中,还需要进行进一步的校验,例如校验身份证的校验位等。
797 0
|
XML Java 应用服务中间件
SpringBoot 快速入门(保姆级详细教程)
SpringBoot快速入门,保姆级别超详细,解决IDEA创建SpringBoot项目一直转圈圈。
1386 0
SpringBoot 快速入门(保姆级详细教程)
|
前端开发 JavaScript
HTML的a标签如何做返回顶部的功能
HTML的a标签如何做返回顶部的功能
606 0
|
SQL JSON 前端开发
Javaweb之SpringBootWeb案例员工管理分页查询的详细解析
Javaweb之SpringBootWeb案例员工管理分页查询的详细解析
271 0
|
Java 测试技术 数据库
Spring Boot单元测试
Spring Boot单元测试
370 0
Spring Boot单元测试

热门文章

最新文章