shiro不能跳转到登录前请求页面

springboot整合shiro实现session过期后自动跳转登录页面 springboot整合shiro实现session过期后自动跳转登录页面: 登录系统后在session失效后再进行点击系统页面时自动跳转到登录页面 1.后端代码实现: 在springboot整合shiro实现登录验证授权基础代码上进行修改。 添加验证session失效重新跳转登录页面过滤器: public class LoginFilter extends FormAuthenticationFilter { private static final String[] filter 阅读详情

现象:某商品展示页面不需要用户登录也可浏览,但是想购买商品时,需要用户先登录,这时点击button提交表单时被shiro拦截,转向登录页面。登录成功够跳转到网站根目录了,应该是跳转到登录前请求页面,即清单结算页面。

问题:由于提交的表单是以POST方式提交的,所以shiro不会取得上次请求路径。
org.apache.shiro.web.util.WebUtils.redirectToSavedRequest(),这个方法内:
if (savedRequest != null && savedRequest.getMethod().equalsIgnoreCase(AccessControlFilter.GET_METHOD)) {
successUrl = savedRequest.getRequestUrl();
contextRelative = false;
}

if (successUrl == null) {
successUrl = fallbackUrl;
}

可以看到需要提交的请求以GET方式才可以取得上次的路径。

解决:form的提交方式改为method=”GET”即可。
或者自己定义CustomFormAuthenticationFilter继承FormAuthenticationFilter。
重写onAccessDenied方法。
思路是:
当请求的路径不是shiro的login路径时,先从request中取得提交的数据并做一个标记值,一同存入session。
当请求的路径是shiro的login路径时,从session取得标记值并判断,判断为真设置shiro的successurl
WebUtils.getAndClearSavedRequest(request);
WebUtils.redirectToSavedRequest(request, response, “需要转向的路径”);

同时,被跳转的路径控制器内从session取得之前存储的值。

spring boot整合Shiro实现单点登录 前面的博客中,我们说道了Shiro的两个最大的特点,认证和授权,而单点登录也是属于认证的一部分,默认情况下,Shiro已经为我们实现了和Cas的集成,我们加入集成的一些配置就ok了。 1、加入shiro-cas包 org.apache.shiro shiro-cas 1.2.4 阅读详情

相关推荐

Shiro整合SSH开发3:配置Shiro认证后页面地址跳转问题(和详述不配置需要注意的问题)

在视频教程中讲请求认证成功后跳转页面的问题是一笔带过的,但是我觉得有必要单独写一篇对应的文章进行叙述。      我用了SSH来整合Shiro,在开发后验证的过程中,每次登陆后Shiro都会跳转到一个不知名js中,但是重点是我上一次访问的地址是: Edit http://localhost:8080/shiro_05/user/login.action 认证之后应该跳转到上一个请求的

机智猫 2万+

shiro ajxa请求 登录状态失效302无法重定向登录页

解决方法 重写FormAuthenticationFilter 类的onAccessDenied方法,并判断如果请求是ajax请求,就在header中添加一个需要登录的标识,并且设置response status为401,避免还是200而继续走ajax的成功回调。然后Ajax添加全局事件,当有需要登录的标识时,将页面定位到登录画面。 重写filter方法 public class MyShiroAuthcFilter extends FormAuthenticationFilter { p

qq_31238839的博客 842

容器内存黑洞排查手册:当PageCache让你的Pod莫名被OOM时

本文深入剖析了容器环境中因Linux内核PageCache机制导致Pod被OOM Killer终止的“内存黑洞”问题。文章解释了Kubernetes基于Working Set内存指标进行OOM判断的逻辑,揭示了传统监控工具与cgroup统计的差异,并通过典型场景分析、实战诊断工具和优化策略,提供了从问题定位到系统调优的完整解决方案。

weixin_29294975的博客 224

shiro实现登录拦截

shiro实现登录拦截 /* *anon:无需认证就可以访问 * authc:必须认证了才能访问 * user:必须拥有 记住我 功能才能访问 * perms:拥有对某个资源的权限才能访问 * role:拥有某个角色权限才能访问 * */

Java修炼者的博客 422

深入解析Docker Overlay2磁盘空间占用问题及高效清理策略

本文深入解析了Docker Overlay2存储驱动导致磁盘空间占用的核心原因,包括镜像与容器残留、日志文件膨胀、应用层泄漏及驱动特性。提供了从全局检查到精准定位的完整排查方法,并给出了从常规清理到配置优化的多维度高效清理策略,帮助用户从根本上解决Docker磁盘空间问题。

data3的博客 900

RGB接口电容触摸屏驱动(一)模块介绍

RGB接口电容触摸屏驱动(一)模块介绍

杰克拉力船长个人博客 7879

apache shiro 跳过验证直接访问指定页面的方法

1、想要把后台管理系统中的某个预览界面作为展示界面,无需登录也可以访问。 但是后台管理系统中的页面访问都受shiro保护,需要验证登录才可以。   方法是在shiro的配置文件中, <property name="filterChainDefinitions">             <value>                 /admin/common/lo...

zhongruichun的博客 1万+

FortiGate-60E防火墙忘记密码?用Console线+TFTP重装固件v7.0.9全流程

本文详细介绍了当FortiGate-60E防火墙忘记密码且物理重置无效时,如何通过Console线连接并利用TFTP服务器重装固件(如v7.0.9)的全流程。从恢复原理、工具准备、网络配置到逐步执行命令,提供了完整的实战指南,帮助管理员彻底恢复设备出厂设置并重置密码。

snow3的博客 333

Shiro (http:/xxxxx/;JSESSIONID=xxxx) InvalidRequestFilter 400无法跳转到登录页问题

shiro: 1.6 spring: 5.2 访问:http://localhost:8080/demo/;JSESSIONID=655def62-75b3-4ab1-ae27-b7d0e42c431a时, 出现400错误页面,无法跳转到登录页。 当浏览器本地cookie禁用或者部分链接跳转时,会默认加上 ;JSESSIONID= 参数传递cookie中存储的sessionId, 后端Filter过滤器会首先尝试从cookie中获取sessionId,获取不到时尝试解析uri连接(;/JSESSIO.

t0m的专栏 2796

【WRF后处理】基于wrf-python处理wrf运行结果wrfout_d01

基于wrf-python处理wrf运行结果wrfout_d01

WW、forever的博客 5209

Winform从入门到精通(21)——ProgressBar(史上最全)

本介绍ProgressBar控件的详细用法,包含所有属性、事件,绝对史上最全!

qq_34059233的博客 3350

Spring整合shiro遇到的坑:web启动后html界面无法访问js目录

问题的发生 将shiro整合到spring中时,html界面引用webapp目录下的js文件,访问静态html页面时,可以正常访问,但执行跳转页面无法识别js语句 查阅资料之后找到原因:js文件是静态资源被后端拦截 原因就是spring整合shiro之后访问项目中的资源需要先经过shiro的shiroFilter过滤器(代理了整个web的Filter),再经过springMVC的的拦截器 因此,想要解决问题需要在过滤器已经拦截器中对js文件进行放行,才能实现登录跳转功能 ...

qq_40872877的博客 291

损失函数大汇总(三十八)(AUCPR Loss附公式推导与代码)

本文系统介绍了AUCPR Loss的原理与应用。针对不平衡分类任务中AUC指标不够敏感的问题,提出通过优化PR曲线面积(AUCPR)来提升模型性能。文章详细推导了AUCPR的可微近似实现:首先用sigmoid函数软化阈值判断,构造可微的TP/FP/FN计数;然后基于软Precision和Recall计算近似PR曲线面积;最后通过数值积分得到可优化的损失函数。特别讨论了温度参数τ对训练稳定性的影响,并比较了AUCPR与AUC、AP等指标的异同。该方法适用于医学筛查、欺诈检测等极端不平衡场景,能更准确反映模型对

悦学共鸣,温柔以待,汇聚光芒,共同成长 441

我的shiro之旅: 十五 shiro 登录成功后,跳转到登录前的页面

博客已移至 http://blog.gogl.top 很多时候,我们需要做到,当用户登录成功后,跳转回登录前的页面。如果用户是点击"登录"链接去到登录页面进行登录的,我们很容易跟踪用户的登录前的页面。比如,在"登录"链接后加一个url参数,如:http://www.xxx.com/login.html?url=http://www.xxx.com/xx.html,这个url就是当前页面。用户浏览...

Dylan的博文 3万+

基于STM32设计的遥控灭火消防小车_296

随着城市化进程的加速和火灾发生频率的增加,传统的消防方式在应对初期火灾时存在反应慢、效率低等问题。为了提高火灾响应速度和灭火效率,本设计开发了一款基于STM32单片机的遥控灭火消防小车。该小车配备了烟雾检测、温湿度监测、火源定位、灭火操作等功能,能够通过蓝牙和WIFI实现远程控制与实时视频传输。设计采用了MQ2烟雾传感器、SHT30温湿度传感器、火光传感器和ESP32摄像头模块等硬件设备。系统不仅能够自动检测和定位火源,还可以手动调整灭火器对准位置,进行干粉灭火。此外,蜂鸣器用于火源报警,确保操作人员及时得

723

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

shiro登录机制及获取登录前地址,跳转到指定页面

一、shiro的登录机制 登录操作一般是由用户去触发的,有用户名,密码,记住密码等(密码加密方式可根据自己需要) String username = request.getParameter("username"); String password = request.getParameter("password"); Boolean flag =false; if(null != rememberMe && !"".equals(String.valueOf(rememberMe)

chen_bo526的博客 2984

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

shiro实现登录成功后跳转到之前的页面

使用Shiro实现不同用户登录成功后跳转到不同的主页 项目背景: 在项目中使用sso统一认证中心实现登录模块,各个业务模块均不提供登录入口,如何在用户登录成功后跳转到之前访问路径呢? 由于项目中集成了shiro,里面就有这么个功能 shiro在跳转前有记录跳转前的页面,当前没有认证的用户请求需要认证的链接时,shiro在跳转前会把跳转过来的页面链接保存到session的...

曰业而安的博客 3448

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

shiro中ajax登录返回登录前的跳转url

在shiro的登录中,当用户登录成功,shiro会自动处理跳转回登录前的页面,因此在后端中不需要处理shiro登录成功后的操作 但是,如果使用ajax登录的话,则无法自动跳转,此时就需要后端给前端返回此前的跳转url,否则ajax不知道登录成功后的操作 实现 FormAuthenticationFilter的onLoginSuccess方法,判断是否通过ajax登录,如果不是则继续由shiro操作...

echobeeee的博客 1473

Shiro中Session过期页面跳转回登录页面处理问题

Session超时的两种情况: shiro在管理session后,在session超时会进行跳转,这里有两种情况需要考虑,一种是ajax方式的请求超时,一种页面跳转请求的超时; 解决问题的思路:通过定义过滤器来检查是否Session过期问题,当前是否session超时,超时判定是否是ajax请求,如果是ajax请求,则在response头部设置session-status值,返回到前端读取

Tiger的专栏 2万+

shiro 登录成功后,跳转到登录前的页面 .

但当我们用配置/xxx.html=authc这种方式,限制用户访问/xxx.html连接时必须是认证过的用户,否则shiro的filter将会重定向到登录页面,上面的方法应当好处理了。不过shiro在跳转前有记录跳转前的页面。前没有认证的用户请求需要认证的链接时,shiro在跳转前会把跳转过来的页面链接保存到session的attribute中,key的值叫shiroSavedRequest,...

feiteyizu 808

Shiro:未登录时请求跳转问题

问题:前后端分离项目,在用Shiro做权限控制时,未登录状态发送的请求都会重定向,导致前端无法捕捉重定向后的消息。如何不重定向在原来的请求返回信息提示未登录,前端根据信息调到登录页? 首先,看一下Shiro是在哪里做的重定向。下面是Shiro的部分源码 package org.apache.shiro.web.filter.authc; public class FormA...

a1336292215的博客 3038

shrio session过期跳转到登录页面问题

一般情况下 shiro在session过期,权限验证不通过都会跳转到登录页面,但是我的项目中使用了easyui框架,跳转后并没有跳转到登录页面,但是在页面查看网络请求确实跳转到登录页面,但是页面并不加载,经过排查问题如下: 问题1:session失效没有跳转到登录页面 1)排查shiro的配置文件登录设置正确 //如果不设置,默认自动寻找web工程根目录下的“login.jsp”页面 ...

飞龙在天的博客 6803

Springboot shiro (一)拦截路由,自动跳转到登录页面

使用场景: 在web微服务中做登录控制,没登录时自动跳转到登录页面 原理: 使用filter对路由进行拦截过滤,然后再分发跳转,如果知道怎么搞得话,就不用往下看了,因为比较简单粗暴。 依旧是几步搞定 第一步 准备微服务 springboot中使用thymeleaf访问页面 参照上面链接粗暴的搞完,直到可以访问到页面 第二步 上依赖 <dependency> ...

t18092838767的博客 5600
上一篇: 数据类型和运算符
下一篇: Centos7设置tomcat开机启动
tjliudebin
博客等级 码龄11年 0粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值