Shiro登录成功之后跳到指定URL
2.然后判断是否已经登录,如果没有登录,就会跳到登录页面,用户输入凭证之后就会交给FormAuthenticationFilter这个类来处理;
FormAuthenticationFilter出来之后就会交给这个方法处理重定向:
从上面就可以看出,shiro去session中找出之前的保存的请求,如果没有的话就会跳转到我们配置的successUrl!
但是现实中往往有很多需求就是,要求我们登录成功之后要跳到一个固定的页面,通常是跳到首页,那这时候我们应该怎么做呢?
通过查看源码,我发现在shiro的webUtils工具类中有这样一个方法:
我们可以重写FormAuthenticationFilter的onLoginSuccess方法,具体如下:
这样,就实现了在交给shiro处理重定向的时候清理了session中保存的请求信息,这样的话,就可以我们指定的url传递进去,这样就实现了跳转到我们指定的页面;
这样使用authc的时候就是我们自定一个过滤器了,如果觉得用同个名字不好也可以自己定义名字!
转载自:http://www.cnblogs.com/sevenlin/p/sevenlin_shiro20150924.html