Shiro登录成功之后跳到指定URL
来源:互联网 发布:中国历年国防支出数据 编辑:程序博客网 时间:2024/05/18 01:57
通常我们使用shiro,登录之后就会跳到我们上一次访问的URL,如果我们是直接访问登录页面的话,shiro就会根据我们配置的successUrl去重定向,如果我们没有配置successUrl的话,那么shiro重定向默认的/,这个逻辑看shiro的源码就可以知道:
1.shiro会把请求信息保存到session中:
2.然后判断是否已经登录,如果没有登录,就会跳到登录页面,用户输入凭证之后就会交给FormAuthenticationFilter这个类来处理;
3.如果登录成功之后就会调用一下方法重定向:
其中的issueSuccessRedirect方法如下:
FormAuthenticationFilter出来之后就会交给这个方法处理重定向:
从上面就可以看出,shiro去session中找出之前的保存的请求,如果没有的话就会跳转到我们配置的successUrl!
但是现实中往往有很多需求就是,要求我们登录成功之后要跳到一个固定的页面,通常是跳到首页,那这时候我们应该怎么做呢?
通过查看源码,我发现在shiro的webUtils工具类中有这样一个方法:
意思是,获取session中的请求信息,并且清理他;
有了这个方法之后就好办了!
我们可以重写FormAuthenticationFilter的onLoginSuccess方法,具体如下:
这样,就实现了在交给shiro处理重定向的时候清理了session中保存的请求信息,这样的话,就可以我们指定的url传递进去,这样就实现了跳转到我们指定的页面;
其次,要把我们定义的过滤器配置一下:
注入:
加到shiro过滤器链中:
这样使用authc的时候就是我们自定一个过滤器了,如果觉得用同个名字不好也可以自己定义名字!
0 0
- Shiro登录成功之后跳到指定URL
- Shiro登录成功之后跳到指定URL
- Shiro登录成功之后跳到指定URL
- Shiro登录成功之后跳到指定URL
- shiro登录成功后指定跳转页面
- shiro 登录成功后 不跳转到 successUrl 的问题解决
- 我的shiro之旅: 十五 shiro 登录成功后,跳转到登录前的页面
- oauth点击授权之后,不Callback到指定url
- 如何使用Shiro实现不同用户登录成功后跳转到不同主页?
- shiro用authc配置后登录成功后不能跳转到index页面
- Shiro登录成功后自定义操作
- shiro登录成功后没有正确跳转
- JS如果在自定义confirm之后先确定再跳转到其他指定url
- [Shiro]多Realm时,指定登录Realm
- shiro登录验证(登录跳转到指定页面,验证码验证,不注销之前已登录用户下,再次登录)
- shiro登录成功后如何获取他的登录名
- .Net mvc 登录认证成功后无法跳转到指定的页面,求指教
- 登录成功之后转向登陆路成功前页面
- 二叉搜索树的后序遍历序列
- 理解矩阵
- 内核设备模型分析
- 【openjudge 计算概论(A)】[函数递归练习(2)]
- JSON与XML的区别比较
- Shiro登录成功之后跳到指定URL
- JSP/HTML页面弹出框
- 深度学习中的数学与技巧(6): 详解协方差与协方差矩阵计算
- 第八周项目2——建立链串的算法库
- EDIUS是怎么制作快节奏字幕的
- 第八周 项目3顺序串算法(2)倒序排列
- Thinkphp5 表单提交额外参数和页面跳转参数传递
- 浅谈程序猿的职业规划,看你如何决定自己的未来吧。
- 渲染request panel的步骤