这个问题是之前在做登录注册模块时遇到的需求,如何用户直接访问登录页面,可以控制直接跳到首页,但是如果是用户没有登录直接访问了购物车等需要经过身份认证的页面,或者是因为session超时,用户需要重新登录,那么这时跳回之前的页面就是提升用户体验的事情。实现此功能比较好的方法是用ajax的方式登陆,这样直接在当前页面弹窗让用户登录既可,二是把用户未登录前的url存在session中,login成功之后先检查session中是否存在这样的一个url。下面通过一段代码给大家分享下:

项目中集成了shiro,里面就有这么个功能,防止WebUtils工具类里面。

废话了这么多,其实网上也有人写过这么一篇关于这个功能实现的的博文,这个大神写的shiro教程也是蛮值得一看的,只不过我在使用

SavedRequest savedRequest = WebUtils.getSavedRequest(request);的时候,savedRequest 对象一直为空,囧了一段时间,后面再群里遇到高人指点,发现是自己的配置文件没写好,即shiroFilter中的filterChainDefinitions,所需要拦截的url没有写完全,像下面这段配置

class="org.apache.shiro.web.filter.authc.PassThruAuthenticationFilter" />

# 无需认证便可以访问的的文件放在前面

/js/* = anon

/css/* = anon

/img/* = anon

/images/* = anon

/user-web/login = anon

/logout = logout

/user-web/* = authc

/backend-web/* = authc

只有/user-web/*  (除去login,这里url的匹配使用短路机制,即最先匹配原则)和/backend-web/ 后面的url,才会被允许存入到session中,这样,当用户没有登陆就去访问包含以上两种链接前缀的时候,登陆成功后就会跳转到之前的界面了。

以上内容就是本文全部介绍,希望能够帮助到大家

java shiro登录实例_使用Shiro实现登录成功后跳转到之前的页面相关推荐

  1. java中登陆界面怎么连接到下一个界面啊_JavaWeb登陆成功后跳转到上一个页面

    JavaWeb登陆成功后跳转到上一个页面,这个标题注定要词不达意,你可能会遇到这样的情形,当点击页面的某个请求时,由于用户未登录,需要跳转到登录页,用户登录成功后,再跳转到上一个页面:还有一种情况,多 ...

  2. 登录成功后怎么跳转页面html,怎么设置登录成功后跳转到相应的页面

    想要用angularjs实现的功能是 一进入就是一个登录页面(login.html),如果没有账号密码就注册,登录成功后跳转到相应的页面(shopcart.html) 碰到的问题 1.一进入页面没有显 ...

  3. html登陆成功后跳转页面跳转,怎么设置登录成功后跳转到相应的页面

    想要用angularjs实现的功能是 一进入就是一个登录页面(login.html),如果没有账号密码就注册,登录成功后跳转到相应的页面(shopcart.html) 碰到的问题 1.一进入页面没有显 ...

  4. 如何使用Shiro实现不同用户登录成功后跳转到不同主页?

    0 如何使用Shiro实现不同用户登录成功后跳转到不同主页?10 Shiro配置文件中successUrl指定的页面只有一个: Java代码   <bean id="shiroFilt ...

  5. 用php写登录成功后的界面,登录成功后跳转_php如何实现登录成功后跳转页面

    摘要 腾兴网为您分享:php如何实现登录成功后跳转页面,指南针,优软商城,优美图,天天美剧等软件知识,以及蓝光mp3剪切器,微信6,scandallpro,新页生产管理软件,asmr音频,lc标签打印 ...

  6. js做简单的登录页面以及附加条件,登录成功后跳转

    新手第一次上传,还不会介绍,很简单,能看懂不难的 <!doctype html> <html lang="en"><head><meta ...

  7. 微信用户绑定java实例_第三方网站微信登录java代码实现

    前两个星期在公司中的项目加上了微信登录.绑定的功能,在这里做个记录! 一.开发前知识 1.微信开放平台与微信公众平台的区别 1.1 微信公众平台: ② 微信公众平台面向的是普通的用户,比如自媒体和媒体 ...

  8. java dao service实例_浅谈Action+Service +Dao 功能

    1. Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. D ...

  9. java spring 登录验证_浅析Spring Security登录验证流程源码

    一.登录认证基于过滤器链 Spring Security的登录验证流程核心就是过滤器链.当一个请求到达时按照过滤器链的顺序依次进行处理,通过所有过滤器链的验证,就可以访问API接口了. SpringS ...

最新文章

  1. 红帽OpenShift总经理谈容器技术需要关注的方向
  2. 这才是我想要的云盘工具
  3. c+还是python好-既然C+不如Java、Python,为什么还要学C+?
  4. python基础: String类型
  5. Java / Web项目中的NPM模块Browser-Sync
  6. C语言判断某个字符串中 是否存在子字符串
  7. 实时帧数手机_ROG游戏手机评测:小老弟让我教教你什么叫电竞
  8. 在web服务器启动时: java.util.zip.ZipException: error in opening zip file
  9. iOS核心动画之蒙版
  10. sap系统ftp服务器下文件,sap ftp服务器
  11. 模拟CMOS集成电路设计中的gm/id设计方法及用Cadence Virtuoso IC617仿真有关参数曲线
  12. 听说你是程序员,请问你知道龙书、虎书、鲸书、魔法书、犀牛书...指的是哪些书么?...
  13. 5基于matplotlib的python数据可视化——导入Excel数据制作折线图
  14. Kotlin开发第六天,数据存储,持久化
  15. python循环语句打印输出1-10_python_不用循环打印1-1000
  16. python股票网格交易_不知道哪位交易员可以解释下网格交易法?
  17. vue使用参数直接取到data数据
  18. 开发、运维、业务都说好的全栈云原生长这样
  19. Redis监听失效的字段
  20. 夜来风雨声,Python协程知多少

热门文章

  1. Pytorch入门(6)-图片风格迁移和GAN
  2. 用Python将音频内容转换为文本格式
  3. 一道 3 行代码的 Python面试题,我懵逼了一天
  4. python通用爬虫和聚焦爬虫的区别
  5. 每个开发人员都需要学Python?看看大佬是怎么说的!
  6. Python操作MySQL(一)
  7. asp.net在IIS7中更改网站的.net framework框架版本
  8. Auto Encoder再学习
  9. git对指定commitid 打tag_git 回退版本到之前提交的tag或commit内容代码
  10. leetcode —— 133. 克隆图