学习shiro的期间感觉对象session和cache有些混淆,遂理顺(当然不该混淆,只是有些忘了,整理下思路)。
混淆在于:
1、传统写法上是通过jsessionid获得session,继而获得session中的用户和session中存储的角色、权限信息
缺点是每次登录都要查询下角色、权限信息,再保存到session中,这样性能低下(原来的架构太简单了,没考虑到应该放到缓存中)。
2、shiro是通过sessionid获得subject(相当于当前用户),再将用户的角色、权限放到cache中,毕竟session时效较短,cache可以长期保留,提高了性能。
相关推荐
本文档旨在介绍如何使用 Spring Boot、Shiro 和 Redis 实现分布式 session 共享,以解决 Web 应用程序的登录 session 统一问题。 2. 相关依赖 在实现 session 共享之前,需要在项目中引入相关依赖项,包括: * ...
`shiro-redisson` 模块就是为了解决这个问题,将 Shiro 的缓存(Cache)和会话(Session)管理功能与 Redis 结合,实现了基于 Redis 的分布式解决方案。 1. **Redisson 库的介绍** Redisson 是一个全面的 Redis ...
该DAO(数据访问对象)使得Shiro能够将Session数据存储到Redis中,实现跨服务器的会话共享。 接下来是`RecoverAccountService`,它可能涉及到用户的账户恢复功能。在Shiro中,为了保护用户信息的安全,需要确保敏感...
然而,在分布式架构中,Shiro 的会话管理机制需要进行特殊处理,以便实现高可用性和可扩展性。鉴于 Spring Boot 框架的流行,如何将 Shiro 整合到 Spring Boot 中,并实现分布式会话共享变得非常重要。 Shiro 的 ...
SpringBoot、Shiro和Redis是Java开发中常用的三大技术组件,它们在构建高效、安全、可扩展的应用系统中发挥着重要作用。在这个例子中,我们将深入探讨如何整合这三者,实现缓存管理和session共享。 首先,...
在Java Web开发中,特别是使用SSM(Spring、SpringMVC、MyBatis)架构时,Shiro常被用来处理用户认证和授权的问题。下面我们将详细探讨Shiro的核心组件、如何集成到SSM项目中以及Shiro配置的相关知识点。 **1. ...
在实际使用中,你需要根据项目需求配置Shiro的相关组件,例如创建安全配置类,定义 Realm 来处理用户认证和授权,配置过滤器链来拦截并处理特定的HTTP请求,以及在Spring中声明Shiro的bean等。同时,还需要理解Shiro...
Apache Shiro是一个强大的Java安全框架,它为应用程序提供了身份验证(Authentication)、授权(Authorization)、会话管理(Session Management)和加密(Cryptography)等核心功能。"shiro1.2.x 中文"标签表明这是...
Shiro的Session API提供了会话的创建、获取、更新、删除和失效操作。 四、加密(Cryptography) Shiro提供了各种加密工具,包括密码散列、加密解密等。例如,`HashService`用于生成密码的哈希值,`CipherService`则...
6. **org.apache.shiro.session**: 会话管理模块,负责用户的会话状态维护,可以跨应用和服务器集群共享会话信息。 7. **org.apache.shiro.subject**: Shiro的核心概念,代表当前操作的主体(如用户),包括其认证...
9. **shiro-spring-boot-web-starter-1.7.0.jar** 和 **shiro-spring-boot-starter-1.7.0.jar**:这两个是Spring Boot的起步依赖,分别针对Web应用和非Web应用,简化了在Spring Boot项目中集成Shiro的过程。...
3. **会话管理(Session Management)**:Shiro 可以管理应用中的会话,提供跨应用的会话共享,包括 SessionDAO、SessionManager 和 Session 监控。SessionDAO 负责会话的创建、读取、更新和删除操作。Session...
综上所述,《深入浅出学Shiro》系列教程全面覆盖了Shiro的核心概念和技术细节,适合希望深入了解并熟练掌握Shiro框架的开发者。通过学习本教程,你可以掌握如何使用Shiro构建安全可靠的应用程序。
5. 集成 Session 管理:Shiro 可以与 Spring Session 集成,实现分布式会话管理,尤其在微服务环境中。 四、Shiro 缓存处理 为了提高性能,Shiro 支持缓存机制,可以在认证和授权过程中减少对数据库的访问。常见的...
Shiro提供了全面的Session管理功能,可以管理用户的Session生命周期,监控和管理Session的创建、使用和销毁。SessionDAO提供了对Session存储、检索、更新和删除的透明操作。自定义SessionDAO可以用来扩展或改变默认...
Shiro的设计目标是为应用提供简单、直观和易于使用的安全API,从而让开发人员能迅速将安全特性集成到应用中。 Shiro框架的核心概念包括以下几个方面: 1. 权限管理系统分为两个基本部分:权限分配和权限验证。权限...
"shiro-ehcache"这个文件名可能指的是一个包含Shiro和Ehcache集成所需JAR文件的压缩包,确保这些库已正确导入到项目中。 2. 配置Shiro:在Shiro的配置文件(如`shiro.ini`或XML配置)中,指定使用Ehcache作为缓存...
在分布式系统中,尤其是在使用Redis作为缓存或session存储时,Shiro的原生支持可能无法直接与Redis集群配合工作。这里提到的"shiro-redis-cluster"项目,显然是针对这个问题进行的一个定制化改造,它使得Shiro能够...
SpringMVC、Mybatis、Spring、Shiro和Ehcache这五个技术组件是Java Web开发中的关键工具,它们各自承担着不同的职责,并通过整合来实现强大的功能。下面将详细阐述这些技术以及它们在整合中的作用。 首先,...
标题 "springboot整合redis+shiro" 描述的是一个基于Spring Boot的应用...要运行此项目,你需要对Spring Boot、Shiro、Redis、Thymeleaf和数据库管理有一定的了解,同时确保你的开发环境中已经安装并配置好相应的服务。