尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Spring Boot Shiro Remember Me
一、前言接着《Spring-Boot-shiro用户认证》当用户成功登录后关闭浏览器然后再打开浏览器访问http://localhost:8080/web/index页面会跳转到登录页之前的登录因为浏览器的关闭已经失效。Shiro为我们提供了Remember Me的功能用户的登录状态不会因为浏览器的关闭而失效直到Cookie过期。二、更改 ShiroConfig继续编辑ShiroConfig加入/** * cookie对象 * return */publicSimpleCookierememberMeCookie(){// 设置cookie名称对应login.html页面的input typecheckbox namerememberMe/SimpleCookiecookienewSimpleCookie(rememberMe);// 设置cookie的过期时间单位为秒这里为一天cookie.setMaxAge(86400);returncookie;}/** * cookie管理对象 * return */publicCookieRememberMeManagerrememberMeManager(){CookieRememberMeManagercookieRememberMeManagernewCookieRememberMeManager();cookieRememberMeManager.setCookie(rememberMeCookie());// rememberMe cookie加密的密钥cookieRememberMeManager.setCipherKey(Base64.decode(4AvVhmFLUs0KTA3Kprsdag));returncookieRememberMeManager;}接下来将cookie管理对象设置到SecurityManager中BeanpublicSecurityManagersecurityManager(){DefaultWebSecurityManagersecurityManagernewDefaultWebSecurityManager();securityManager.setRealm(shiroRealm());securityManager.setRememberMeManager(rememberMeManager());returnsecurityManager;}最后修改权限配置将ShiroFilterFactoryBean的filterChainDefinitionMap.put(“/**”, “authc”);更改为filterChainDefinitionMap.put(“/**”, “user”);user指的是用户认证通过或者配置了Remember Me记住用户登录状态后可访问。三、更改 login.html在login.html中加入Remember Me checkbox!DOCTYPEhtmlhtmlxmlns:thhttp://www.thymeleaf.orgheadmetacharsetUTF-8title登录/titlelinkrelstylesheetth:href{/css/login.css}typetext/cssscriptth:src{/js/jquery-1.11.1.min.js}/script/headbodydivclasslogin-pagedivclassforminputtypetextplaceholder用户名nameusernamerequiredrequired/inputtypepasswordplaceholder密码namepasswordrequiredrequired/pinputtypecheckboxnamerememberMe/记住我/pbuttononclicklogin()登录/button/div/div/bodyscriptth:inlinejavascriptvarctx[[{/}]];functionlogin(){varusername$(input[nameusername]).val();varpassword$(input[namepassword]).val();varrememberMe$(input[namerememberMe]).is(:checked);$.ajax({type:post,url:ctxlogin,data:{username:username,password:password,rememberMe:rememberMe},dataType:json,success:function(r){if(r.code0){location.hrefctxindex;}else{alert(r.msg);}}});}/script/html四、更改 LoginController更改LoginController的login()方法PostMapping(/login)ResponseBodypublicResponseBologin(Stringusername,Stringpassword,StringrememberMe){passwordMD5Utils.encrypt(username,password);UsernamePasswordTokentokennewUsernamePasswordToken(username,password,rememberMe);SubjectsubjectSecurityUtils.getSubject();try{subject.login(token);returnResponseBo.ok();}catch(UnknownAccountExceptione){returnResponseBo.error(e.getMessage());}catch(IncorrectCredentialsExceptione){returnResponseBo.error(e.getMessage());}catch(LockedAccountExceptione){returnResponseBo.error(e.getMessage());}catch(AuthenticationExceptione){returnResponseBo.error(认证失败);}}当rememberMe参数为true的时候Shiro就会帮我们记住用户的登录状态。启动项目即可看到效果。
RELATED

相关推荐

DX假面骑士Zi-O时空驱动器豪华版再版全解析:购买、验货与收藏指南

DX假面骑士Zi-O时空驱动器豪华版再版全解析:购买、验货与收藏指南

最近玩家圈里讨论最多的关键词之一,就是“DX假面骑士Zi-O时空驱动器豪华版再版”。不管是微博、贴吧还是玩家群,总能看到有人晒订单、发官图,也有人反复问“为什么又再版了”“和之前的批次有什么区别”“现在入手值不值”。尤其是“每年再版…

📅 2026/10/27 2:14:26
Spring Boot Shiro中使用缓存

Spring Boot Shiro中使用缓存

一、前言 在Shiro中加入缓存可以使权限相关操作尽可能快,避免频繁访问数据库获取权限信息,因为对于一个用户来说,其权限在短时间内基本是不会变化的。Shiro提供了Cache的抽象,其并没有直接提供相应的实现,因为这已经超…

📅 2026/9/13 23:58:07
无人机跌落故障链路分析与飞行日志排查实战指南

无人机跌落故障链路分析与飞行日志排查实战指南

无人机跌落是无人机开发、调试和日常飞行中最不愿遇到却又绕不开的问题。无论是自组四旋翼、PX4/ArduPilot 二次开发平台,还是行业巡检机型,升空后突然失去高度、姿态翻滚甚至直接坠地,都会造成设备损坏和现场风险。跌落看起来是一个瞬间现象…

📅 2026/10/7 13:29:59
MORE NEWS

更多资讯

📰

零基础搞定CATIA二次开发:CAA、RADE与VS环境搭建全攻略

简介:这份文档面向 CATIA 二次开发初学者与刚进入研究生阶段的学习者,针对专业软件安装繁琐、环境配置易出错这一入门痛点,系统梳理从零搭建开发环境的完整路径。内容围绕 Microsoft Visual Studio 2005、CATIA V5R19、CAA 与 RADE 四款软件的…

📰

32位Office与64位ACE引擎安装冲突:根因分析与MSI修改解决方案

简介:这份文档面向在64位Windows系统上同时使用32位Office 2007与64位Access Database Engine 2010时遭遇安装冲突的技术人员,聚焦ACE引擎版本不兼容这一典型问题,提供一套可落地的解决思路。资源包共1个docx文件,约47KB&#xff…

📰

32位Office与64位ACE引擎共存:7-Zip拆包+ORCA改MSI实战

简介:这份文档面向在64位Windows系统上同时使用32位Office 2007与64位Access Database Engine时遭遇安装冲突的技术人员,聚焦ACE引擎版本不兼容这一典型问题,提供可落地的解决思路。资源包共1个docx文件,约47KB,以图文…

📰

UiPath下载安装与社区版配置:许可证、Profile与包源避坑

简介:这是一份面向办公自动化初学者与职场新人的 UiPath 下载入门指南,围绕 RPA 工具的获取渠道与安装流程展开,适合想接触 RPA 技能、却不知从何处下手的零基础读者参考。资源包共 1 个 docx 文件,约 235KB,以文字步骤…

📰

UiPath社区版安装全流程:环境对表、注册激活与避坑验收

简介:一份面向零基础职场人的 UiPath 下载与安装指引文档,围绕 RPA 自动化工具的获取流程整理,适合对办公自动化感兴趣、希望通过社区版快速上手的个人学习者。文档系统梳理了从进入官网选择社区版或企业版、填写个人信息时个人邮箱与企业邮箱…

📰

会议纪要哪个软件总结精准?智在记录、通义听悟、飞书妙记、Otter.ai 横评实测

开完一场两小时的会,录音躺在手机里,逐字稿几万字,真正要写进纪要的那三五条结论,还得自己一条条翻出来。这件事看着不大,但一周重复五六次,就是实打实的时间成本。这两年会议纪要工具的变化很明显&#xf…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬