通常我们使用shiro,登录之后就会跳到我们上一次访问的URL,如果我们是直接访问登录页面的话,shiro就会根据我们配置的successUrl去重定向,如果我们没有配置successUrl的话,那么shiro重定向默认的/,这个逻辑看shiro的源码就可以知道:
1.shiro会把请求信息保存到session中:

2.然后判断是否已经登录,如果没有登录,就会跳到登录页面,用户输入凭证之后就会交给FormAuthenticationFilter这个类来处理;
3.如果登录成功之后就会调用一下方法重定向:

其中的issueSuccessRedirect方法如下:
FormAuthenticationFilter出来之后就会交给这个方法处理重定向:

从上面就可以看出

本文详细介绍了如何在Shiro框架中处理Ajax登录成功后跳转到指定URL的需求。通过重写FormAuthenticationFilter的onLoginSuccess方法并利用Shiro的WebUtils工具类,可以实现登录成功后清除session中的请求信息,进而执行自定义的重定向操作。同时,文章还提供了配置自定义过滤器的相关代码示例。
最低0.47元/天 解锁文章
4856

被折叠的 条评论
为什么被折叠?



