使用Shiro框架,登录后返回跳转前页面


  突然发现博客又扔了好几年了,今天想起来就记录点问题。

  使用Shiro框架来进行权限验证,想要登录后跳转回之前的链接。需要使用Shiro的SavedRequest。

  当跳转到登录页面时,Shiro会调用WebUtils中的saveRequest方法,将当前的SavedRequest进行储存。当登录成功之后,通过getSavedRequest取得之前得数据。以下为具体实现:

  

// 参数 HttpServletRequest request
Subject user = SecurityUtils.getSubject();
try {
            user.login(token);
} catch (IncorrectCredentialsException e) {
......
}
SavedRequest savedRequest = WebUtils.getSavedRequest(request);
// 登录前url
savedRequest.getRequestUrl();
// 取得url之后对SavedRequest进行清空
// 如果未使用接口方式,可以直接跳转url并清空,使用WebUtils中的redirectToSavedRequest方法
WebUtils.getAndClearSavedRequest(request);

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM