关闭

Shiro登录成功之后跳到指定URL

标签: Shiro登录成功之后跳到指定URL
1411人阅读 评论(0) 收藏 举报
分类:

Shiro登录成功之后跳到指定URL

     通常我们使用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的时候就是我们自定一个过滤器了,如果觉得用同个名字不好也可以自己定义名字!


转载自:http://www.cnblogs.com/sevenlin/p/sevenlin_shiro20150924.html

0
0
查看评论

Shiro登录成功之后跳到指定URL

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

重写shiro跳转路劲loginUrl、successUrl等

最近有个需求,shiro中的路劲配置要求可以后台管理,以实现不同浏览器进入不同登录页面,不同权限进入不同首页。 研究源码后的解决方案: shiroFilter配置中的跳转,都是基于以下类进行设置的: 所以我们要做的就是继承并重写该类中的某些方法: 登录URL跳转:redirectToLo...
  • II_bat
  • II_bat
  • 2016-11-23 15:30
  • 4292

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

很多时候,我们需要做到,当用户登录成功后,跳转回登录前的页面。如果用户是点击"登录"链接去到登录页面进行登录的,我们很容易跟踪用户的登录前的页面。比如,在"登录"链接后加一个url参数,如:http://www.xxx.com/login.html?url=h...
  • LHacker
  • LHacker
  • 2014-03-04 11:32
  • 22037

关于shiro 总是302的问题

shiro
  • callmesong
  • callmesong
  • 2017-12-17 18:29
  • 199

shiro框架前端ajax无法重定向到登录页面解决方案

场景: 登录使用shiro+oauth2进行控制; 前端有一个匿名可访问的显示文章的网页,文章下有点赞功能,但是点赞调用的接口的权限为登录可访问; 故出现页面点击点赞调用接口,看chrome后台会看到一共有两个请求,一个是调用点赞接口被拦截并返回302重定向,第二个是访问登录页面状态码为200,但是...
  • Fasure_Smile
  • Fasure_Smile
  • 2017-04-01 17:36
  • 1579

shiro登录成功后没有正确跳转

最近遇到shiro校验框架成功后不进行自动跳转到指定页面;
  • babys
  • babys
  • 2016-05-24 16:03
  • 9630

shiro 无法跳转到unauthorizedUrl

问题:shiro框架控制用户权限,用户权限认证未通过时,无法跳转到unauthorizedUrl对应的页面,直接抛出了异常。 原因: private void applyUnauthorizedUrlIfNecessary(Filter filter) ...
  • danchaofan0534
  • danchaofan0534
  • 2017-01-11 19:56
  • 2683

shiro登陆成功不跳转successUrl的问题

<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManag...
  • u014284252
  • u014284252
  • 2016-01-07 10:54
  • 4927

shiro用authc配置后登录成功后不能跳转到index页面

这两天发现一个问题,如题,尝试了很多方法,都没法解决,真是很郁闷。最后看源码才知道,我的配置如下。原意是从/api/user/login登录成功后,跳转到/index,但是怎么都不能跳转到/index。原来authc拦截器(即FormAuthenticationFilter),验证成功后只会跳转到最...
  • csujiangyu
  • csujiangyu
  • 2015-10-01 11:00
  • 5252

shiro登陆后没有返回设置的successUrl

iframe的页面,shiro登陆后没有返回设置的successUrl
  • whm114336793
  • whm114336793
  • 2017-09-18 17:05
  • 422
    个人资料
    • 访问:89000次
    • 积分:1140
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:61篇
    • 译文:0篇
    • 评论:11条
    最新评论