Shiro - Spring + Jedis(会话、缓存、自动登录)整合篇(下)

简介: Shiro - Spring + Jedis(会话、缓存、自动登录)整合篇(下)

三、Shiro 缓存管理

image.png


Shiro缓存管理

其缓存管理仍旧是依赖于Redis进行实现。

意为将从数据库取出来的数据放置到Redis缓存中去,如果缓存中有直接取出,没有则去数据库中获取并且放置到Reids缓存中。

步骤:

与之前的Session管理一致。首先创建CacheManager并且实现CacheManager接口。

创建Cache类实现Cache接口,其中有增删改查等方法。同样通过序列化与反序列化、二进制数组键值对等实现其中方法。

在CacheManager类中注入Cache类,并且将其作为返回值写入到实现的唯一方法的返回处。

将CacheManager在Spring.xml中进行配置Bean,并且将次设置到SecurityManager中。

都是通过JedisUtil完成的操作,均是将数据保存到了Redis中,无论是Session还是缓存只是多了一个Redis进行管理。

四、自动登录

Shiro 自动登录,意为记住密码。将用户名与密码记录在Cookie中。

主要通过配置来实现自动登录。【即:可以不登录,访问其他路径,就相当于sessionid 没有过期一个效果,记住了只要cookie没过期,也可以访问其他页面。】


步骤:


前端编码复选框“记住我“。

在Spring.xml文件中进行配置,配置CookieRememberMeManager,并且利用属性cookie,将外边的bean的SimpleCookie注入进去。SimpleCookie用构造方法设置名称,之后通过属性用maxAge设置超时时间即可。

在登录的时候,传入UserNameAndPassowrdToken的时候,其对象可以设置setRememberMe的属性,为true即为记住登录。


下载地址:shiro-master-Java代码类资源-CSDN下载

目录
相关文章
|
10月前
|
存储 安全 Java
管理 Spring 微服务中的分布式会话
在微服务架构中,管理分布式会话是确保用户体验一致性和系统可扩展性的关键挑战。本文探讨了在 Spring 框架下实现分布式会话管理的多种方法,包括集中式会话存储和客户端会话存储(如 Cookie),并分析了它们的优缺点。同时,文章还涵盖了与分布式会话相关的安全考虑,如数据加密、令牌验证、安全 Cookie 政策以及服务间身份验证。此外,文中强调了分布式会话在提升系统可扩展性、增强可用性、实现数据一致性及优化资源利用方面的显著优势。通过合理选择会话管理策略,结合 Spring 提供的强大工具,开发人员可以在保证系统鲁棒性的同时,提供无缝的用户体验。
223 0
|
安全 Java 数据库
第16课:Spring Boot中集成 Shiro
第16课:Spring Boot中集成 Shiro
1189 0
|
安全 Java Apache
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 身份和权限认证
本文介绍了 Apache Shiro 的身份认证与权限认证机制。在身份认证部分,分析了 Shiro 的认证流程,包括应用程序调用 `Subject.login(token)` 方法、SecurityManager 接管认证以及通过 Realm 进行具体的安全验证。权限认证部分阐述了权限(permission)、角色(role)和用户(user)三者的关系,其中用户可拥有多个角色,角色则对应不同的权限组合,例如普通用户仅能查看或添加信息,而管理员可执行所有操作。
695 0
|
安全 Java 数据安全/隐私保护
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 三大核心组件
本课程介绍如何在Spring Boot中集成Shiro框架,主要讲解Shiro的认证与授权功能。Shiro是一个简单易用的Java安全框架,用于认证、授权、加密和会话管理等。其核心组件包括Subject(认证主体)、SecurityManager(安全管理员)和Realm(域)。Subject负责身份认证,包含Principals(身份)和Credentials(凭证);SecurityManager是架构核心,协调内部组件运作;Realm则是连接Shiro与应用数据的桥梁,用于访问用户账户及权限信息。通过学习,您将掌握Shiro的基本原理及其在项目中的应用。
520 0
|
缓存 NoSQL Java
什么是缓存?如何在 Spring Boot 中使用缓存框架
什么是缓存?如何在 Spring Boot 中使用缓存框架
1112 0
|
缓存 NoSQL Java
【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务
【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务
508 0
|
存储 缓存 NoSQL
保持HTTP会话状态:缓存策略与实践
保持HTTP会话状态:缓存策略与实践
|
NoSQL 网络协议 Java
[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis
[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis
251 8
|
NoSQL Java 网络安全
[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis
[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
666 0