准备写个cas+shior 的单点登录sso和单点登出slg持续更新,完整demo上github。slg: 注意点shiro 配置文件 / cas服务器的地址 domain 和 slg 时的cas domain一定保证一致slg 时 cas 会清除cas服务器domain下的cookies(token, st), 但cas client(及你的application)的cookies 需要自己清除
原创 2014-08-25 22:06:04
657阅读
原文链接:https://www.bookstack.cn/read/redisson-wiki-zh/Redisson%E9%A1%B9%E7%9B%AE%E4%BB%8B%E7%BB%8D.md
转载 2023-07-08 21:52:51
68阅读
开发中会遇到这样的需求,用户登录系统后,若超过30分钟无操作,则强制用户退出。也就是说登录后,若30分钟内进行了操作则无需退出用户,若超过30分钟不进行操作,则强制把用户退出,这里主要说明涉及缓存方面的问题,至于如何通知前端退出用户在此略。但有没有想过如下问题?如果直接设置登录后token的过期时间是30分钟,那么当用户一直操作时会出现突然下线的情况,使用体验很差。一种好的解决方案是,在此基础上,
转载 2023-05-25 12:41:52
354阅读
sso-shiro-casspring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次,项目源码系统模块说明cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已doc: 文档目录,里面有数据库生成语句,采用的是MySQL5.0,数据库名为db_testspring-node-1: 应用1spring-node-2: 应用2
转载 2022-07-28 17:26:21
316阅读
springboot_shiro_redis整合(一)-shiro-权限控制 目录 文章目录一、前言二、shiro整合redis1、分析2、pom.xml 导入依赖2、相关具体类2.1、封装ShiroUtils 工具类2.2、UserRealm 自定义realm2.3、ShiroConfig 配置类2.4、CustomSessionManager 身份标志获取***后记*** : 内容 一、前言
转载 2023-06-14 18:07:24
1836阅读
  shiro-redis开源项目已经很好的将shiroredis整合到一起,实现了将session存入redis,可以方便的用于session共享实现集群部署。  git地址:https://github.com/alexxiyang/shiro-redis ,文档:http://alexxiyang.github.io/shiro-redis/  官方的文档已经非常详细了,基本上照
转载 2023-09-21 10:02:05
144阅读
一、背景       当前很多公司的项目都采用分布式或者微服务架构来设计,这个时候在用户登录系统上就会产生问题,用户登录时的用户信息如何保证共享,如果不共享,那么在分布式架构下用户会反复登录,这样显然是不合理的。此时问题点就来了,如何保证用户登录信息共享呢?二、shiro用户信息共享的核心思想     shiro框架做用户的登录
转载 2023-08-09 21:34:15
200阅读
  之前用的单机Shiro实现用户单点登陆,基本问题不大,但是集群间的session共享单靠Shiro就不好实现了。所以就借助Redis数据库来实现。一、pom.xml<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId>
转载 2023-07-04 15:54:43
124阅读
背景 Shiro 提供了强大的 Session 管理功能,基于 Shiro 实现 Session 共享非常方便,只需要定制一个我们自己的SessionDAO,并将它绑定给 SessionManager 即可。在我们的 SessionDAO 中,通常会将 Session 保存到 Redis,那么 Shiro 对 Session 的增删改查,都会直接操作 Redis。但是由于 Shiro 对 Sess
转载 2023-07-21 22:37:50
64阅读
一. 概述Shiro作为一个开源的权限框架,其组件化的设计思想使得开发者可以根据具体业务场景灵活地实现权限管理方案,权限粒度的控制非常方便。首先,我们来看看Shiro框架的架构图:从上图我们可以很清晰地看到,CacheManager也是Shiro架构中的主要组件之一,Shiro正是通过CacheManager组件实现权限数据缓存。当权限信息存放在数据库中时,对于每次前端的访问请求都需要进行一次数据
转载 2024-04-24 18:41:14
59阅读
效果:系统session超时之后,刷新页面还是停留在当前页面不会到登录页面。redis的配置请参考我的另一篇文章 (基于Jedis的Redis配置以及简单使用 )总体思路:前端传免登陆天数到后端,然后redis将该用户信息存进去,在生成一个新的token(assToken),这个assToken用于识别用户信息以及用来区分session原来生成的那个token,当超时之后就通过新的这个a
转载 2024-02-02 19:32:25
32阅读
本项目由卖咸鱼叔叔开发完成,欢迎大神指点,慎重抄袭!参考了sojson提供的demo,和官方文档介绍。完整实现了用户、角色、权限CRUD及分页,还有shiro的登录认证+授权访问控制。项目架构:Maven + SpringMVC + Spring + Mybatis + Shiro + Redis数据库:MySql前端框架:H-ui 首先创建Maven项目1.pom.xml 加入依赖包&
转载 2023-07-29 18:12:52
17阅读
# 使用Redis缓存实现SSO单点登录 在现代Web应用中,单点登录(SSO)是一种非常常见的身份验证机制,它允许用户在一次登录后访问多个相关系统。为了提高性能和减少数据库负载,在SSO中通常会使用缓存来存储用户的会话信息。Redis是一个流行的内存数据库,经常被用来作为SSO系统的缓存存储。 ## Redis缓存的优势 1. **快速访问**: Redis是一个内存数据库,读写速度非常快
原创 2024-05-21 07:11:49
48阅读
# 如何实现Java Spring Boot Shiro实现单点登录SSO ## 概述 在本文中,我将向您介绍如何使用Java Spring Boot和Shiro框架来实现单点登录(SSO)。这个过程需要一定的经验和知识,但我会尽力用简单的步骤来解释每一个细节,以便您可以清楚地了解整个流程。 ### 流程图 ```mermaid flowchart TD A(开始) B(创建S
原创 2024-06-04 06:58:32
235阅读
小伙伴们,你们好呀!我是老寇!废话不多说,跟我一起学习单点登录SSO目录1.运行效果图(b站-地址)2. 老寇云SSO架构3.老寇云SSO授权模式4.老寇云SSO流程图(个人理解)5.老寇云SSO流程说明(个人理解)?6.核心代码1.运行效果图springsecurity单点登录2. 老寇云SSO架构1.基础框架:springboot + springcloud2.认证授权:shiro + jwt
转载 2024-03-23 21:39:05
145阅读
                                                        &nbs
         做项目是web的,并且会有移动设备,以及未来会进行分布式部署,所以shiro作为权限管理的时候,就会出现session和应用分离的状况。        因为redis集成在了session中,所以session对shiro项目来说是透明的,这时,就需要前端能保存jsessionid来对项目进
项目中经常使用shiro做权限认证与授权功能,当用户认证成功后,第一次访问受限的资源时,shiro会去加载用户能访问的所有权限标识。默认情况下,shiro并未缓存这些权限标识。当再次访问受限的资源时,还会去加载用户能访问的权限标识。 当请求多时,这样处理显然不适合生产环境,因此需要为shiro加缓存。shiro本身内置有缓存功能,需要配置启用它。shiro为我们提供了两个缓存实现,一个是基于本地
转载 2023-08-19 20:07:27
378阅读
session共享:在多应用系统中,如果使用了负载均衡,用户的请求会被分发到不同的应用中,A应用中的session数据在B应用中是获取不到的,就会带来共享的问题。假设:用户第一次访问,连接的A服务器,进行了登录操作进入了系统,当用户再次操作时,请求被转发到了B服务器,用户并没有在B进行登录,此时用户又来到了登录页面,这是难以理解和接受的,这就引出了session共享。对于shiro框架如何实现se
转载 2023-07-04 15:49:51
200阅读
简介:由于考虑到项目后期分布式部署,所以缓存由ehcache改为redis,而redis既有单机版部署,也有分布式部署,所以二者需要兼容。1. maven依赖<dependency> <groupId>org.crazycake</groupId> <artifactId>shiro-redis</artifactId>
转载 2023-07-03 18:23:13
96阅读
  • 1
  • 2
  • 3
  • 4
  • 5