在解决方案一中解决了iframe session超时跳转到登录页问题,但是第二个问题来了,超时登陆后,出现直接跳转到了iframe的内容页,翻看了shiro官方文档,意思是shiro默认记住了超时登录之前的url放到了shiro自己的session内,当重新登录后,会获取session中的url,然后跳转过去,解决每次超时都跳转到首页的问题。
但是咱们的问题是他每次超时跳转都直接跳转到了iframe的内容页 导致左侧菜单没有了,所以咱的思路就是要在他登录后让他跳转到首页,而不跳转到详细页。
根据官方wiki 我发现在shiro的webUtils工具类中有这样一个方法,源码如下:
此方法会获取当前session中的请求并清理掉。
我们可以重写FormAuthenticationFilter的onLoginSuccess方法,我在做验证码登录的时候已经重写filter,所以在此只要借用之前代码重新onLoginSuccess方法即可,代码如下:
我在验证码校验的文章中已说明filter具体配置方式,此处略过。
将session超时时间设置为60秒
启动boot项目
等一分钟,点击菜单,进入登录页登录,登陆成功后直接进入首页了。
相关推荐
springboot +shiro+redis实现session共享(方案二)1
SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 ...
springboot 整合shiro的认证,redis实现session共享案例
Springboot+shiro单点登录实现,本文档是单点登录的全部源代码。
SpringBoot整合Shiro后实现免密登录 1,说明一下步骤,需要在原来基础新增三个文件 2,新增CustomToken,重写UsernamePasswordToken免密登录调用方法和密码登录调用方法都在里面。 3,新增...
基于springboot框架,前后端分离模式下的shiro + pac4j +cas实现统一登录功能,子应用采用shiro鉴权,通过pac4j与cas交互,最终向前端返回jwt token
实现springboot 、shiro 、redis缓存和session共享源码例子
SpringBoot-Shiro前后端分离框架,通过shiro控制权限,实现前后端全分离接口安全。
为实现Web应用的分布式集群部署,要解决登录session的统一。本文利用shiro做权限控制,redis做session存储,结合spring boot快速配置实现session共享。
本文小编将基于 SpringBoot 集成 Shiro 实现动态uri权限,由前端vue在页面配置uri,Java后端动态刷新权
本demo为Spring boot整合shiro,以mybatis plus做dao层交互数据,实现了读取数据库用户数据实现用户登录,权限认证,读取数据库中用户对应的url请求,实现请求的过滤。自定义了relam和过滤器来实现这些功能
springboot+shiro+ztree实现后台权限管理springboot+shiro+ztree实现后台权限管理springboot+shiro+ztree实现后台权限管理
springboot shiro 权限管理项目,买不了吃亏,买不了上当
SpringBoot 、Shiro、 自定义注解权限控制
使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例。
主要介绍了springboot整合shiro-登录失败次数限制功能,实现此功能如果是防止坏人多次尝试,破解密码的情况,所以要限制用户登录尝试次数,需要的朋友可以参考下
SpringBoot集成Shiro、Jwt和Redis,使用MyBatisPlus框架实现后台数据库操作。
SpringBoot ,Shiro 密码加密,登录验证,权限控制demo
springboot+vue+shiro 前后盾分离,权限整合,vue路由配置解析,有sql语句,shiro 权限验证。