在解决方案一中解决了iframe session超时跳转到登录页问题,但是第二个问题来了,超时登陆后,出现直接跳转到了iframe的内容页,翻看了shiro官方文档,意思是shiro默认记住了超时登录之前的url放到了shiro自己的session内,当重新登录后,会获取session中的url,然后跳转过去,解决每次超时都跳转到首页的问题。
但是咱们的问题是他每次超时跳转都直接跳转到了iframe的内容页 导致左侧菜单没有了,所以咱的思路就是要在他登录后让他跳转到首页,而不跳转到详细页。
根据官方wiki 我发现在shiro的webUtils工具类中有这样一个方法,源码如下:
此方法会获取当前session中的请求并清理掉。
我们可以重写FormAuthenticationFilter的onLoginSuccess方法,我在做验证码登录的时候已经重写filter,所以在此只要借用之前代码重新onLoginSuccess方法即可,代码如下:
我在验证码校验的文章中已说明filter具体配置方式,此处略过。
将session超时时间设置为60秒
启动boot项目
等一分钟,点击菜单,进入登录页登录,登陆成功后直接进入首页了。
相关推荐
在本方案中,Shiro 将用于实现登录 session 的统一。 6. Session 共享 通过使用 Redis 作为 Session 存储,多个应用服务器可以共享同一个 Session,从而实现分布式 session 共享。 7. 优点 本方案的优点包括: ...
SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 ...
SpringBoot整合Shiro后实现免密登录 1,说明一下步骤,需要在原来基础新增三个文件 2,新增CustomToken,重写UsernamePasswordToken免密登录调用方法和密码登录调用方法都在里面。 3,新增...
3. **编写Shiro配置**:创建一个Shiro配置类,配置Realm(权限认证),并设置SessionManager使用RedisSessionDAO,以便将Session数据保存到Redis中。 4. **自定义Realm**:根据实际业务需求,实现自定义的...
4. **拦截器或过滤器**:在SpringBoot中,可以创建一个Shiro拦截器或过滤器,对每个请求进行检查,确保请求带有有效的JWT。如果令牌无效或过期,Shiro将阻止请求并返回相应的错误信息。 5. **授权策略**:Shiro支持...
本项目基于SpringBoot框架,结合Shiro、pac4j和CAS,构建了一个完整的JWT认证中心,旨在实现高效、安全的SSO解决方案。 1. **SpringBoot**: SpringBoot是Spring框架的一个扩展,它简化了Spring应用的初始搭建以及...
在实际运行中,当用户登录成功后,Shiro会创建session并存储在Redis中。后续请求可以通过sessionID从Redis中获取session数据,实现session共享。同时,通过Redis缓存可以提高常用数据的访问速度,减轻数据库压力。 ...
Springboot+shiro单点登录实现,本文档是单点登录的全部源代码。
在SpringBoot中集成Shiro,可以方便地进行用户权限的管理,包括登录验证、权限校验等功能。 **Vue.js** 是一个用于构建用户界面的渐进式框架,常用于前端开发。在这里,Vue可以用来动态渲染前端界面,根据后端返回...
【SpringBoot整合Shiro详解】 在现代Web应用开发中,SpringBoot因其简洁的配置和强大的功能集成,成为了Java开发者首选的...总的来说,SpringBoot与Shiro的结合,为我们的Web应用提供了一套高效、便捷的安全解决方案。
为实现Web应用的分布式集群部署,要解决登录session的统一。本文利用shiro做权限控制,redis做session存储,结合spring boot快速配置实现session共享。
**SpringBoot整合Shiro**是将流行的Java Web框架Spring Boot与安全管理框架Apache Shiro结合,以构建高效、安全的Web应用程序。Spring Boot以其简洁的配置和快速的开发体验深受开发者喜爱,而Shiro则提供了全面的...
本demo为Spring boot整合shiro,以mybatis plus做dao层交互数据,实现了读取数据库用户数据实现用户登录,权限认证,读取数据库中用户对应的url请求,实现请求的过滤。自定义了relam和过滤器来实现这些功能
6. **数据库连接与事务管理**:理解SpringBoot中如何配置数据源和事务管理器,以及如何在服务层处理事务。 7. **日志和异常处理**:了解如何配置日志框架(如Logback、Log4j等)和全局异常处理。 通过这个项目,...
在Spring Boot中集成Shiro,首先需要添加Shiro的相关依赖到项目的pom.xml文件中。然后,我们需要配置Shiro Realm,这是一个连接应用程序与安全数据源(如数据库)的桥梁,负责进行身份验证和授权。通常,我们需要...
SpringBoot和Shiro是两个在Java开发中广泛使用的框架,它们在构建现代Web应用程序时扮演着重要的角色。SpringBoot简化了Spring应用的初始搭建以及开发过程,而Shiro则是一个强大的安全框架,提供了身份认证、授权...
本项目"springboot+shiro+swagger2前后端分离整合"提供了一个实用的框架组合,旨在帮助开发者快速搭建这样的应用。以下是对这个项目及其组成部分的详细解析: 1. **Spring Boot**: Spring Boot是由Pivotal团队...
在SpringBoot中结合Shiro使用Jwt,可以在用户登录成功后生成一个Jwt Token,然后将其返回给客户端。客户端每次请求时带上Token,服务器端验证Token的有效性,以此实现无状态的身份认证。 **Redis** 是一个高性能的...
SpringBoot+Shiro学习之密码加密和登录失败次数限制示例 ...该示例可以帮助开发者更好地理解 SpringBoot 和 Shiro 框架的整合,并且提供了一个基于 SpringBoot 和 Shiro 框架的密码加密和登录失败次数限制的解决方案。