ajax session失效后,跳转到登录页面的全局处理
来源:互联网 发布:深圳知豆电动汽车租赁 编辑:程序博客网 时间:2024/05/17 09:06
在SaaS系统中, 我们需要考虑, 用户停留页面时间过长导致session失效后, ajax方法无法正确运行, 我们又不希望在每个ajax方法中, 来判断是否登录, 未登录的情况下就跳转到登录页.
我们的解决方案是:
首先,有一个Intercepter 实现了HandlerInterceptor接口.
在preHandler方法中, 判断handler对象类型, 我们只处理 spring controller方法.
if (handler instanceof HandlerMethod) { // intercept Account account = (Account) session.getAttribute("account"); if (account == null) { HandlerMethod handlerMethod = (HandlerMethod) handler; // 根据请求的是否是ajax方法, 来判断是直接302还是返回一个JSON if (handlerMethod.hasMethodAnnotation(ResponseBody.class)) { // ajax方法 PrintWriter printWriter = response.getWriter(); response.setStatus(499); String url = request.getHeader("referer"); if (org.springframework.util.StringUtils.isEmpty(url)) { url = loginPath; } printWriter.print(url); } else { String redirectUrl = loginPath; session.setAttribute("retUrl", request.getRequestURL().toString()); response.sendRedirect(redirectUrl); } return false; } else { List<Role> roleList = (List<Role>) session.getAttribute("roles"); SessionHolder.setAccount(account); SessionHolder.setRoles(roleList); return true; } }
在前端页面加入:
$.ajaxSetup({ statusCode: { 499: function (data) { window.location.href = data.responseText; } } });
0 0
- ajax session失效后,跳转到登录页面的全局处理
- 拦截器针对ajax Session失效跳转到登录页面
- ajax Session失效如何跳转到登录页面
- Ajax Session失效跳转登录页面的方法
- session失效后跳转到登陆页面
- session失效后跳转到登陆页面
- session失效后,跳转到登陆页面的解决办法
- springmvc控制登录用户session失效后跳转登录页面
- springmvc控制登录用户session失效后跳转登录页面
- session失效后ajax请求跳转到登陆页
- 使用filter使session失效的用户,重新跳转到登录页面
- ajax提交session超时跳转页面使用全局的方法来处理
- iframe请求失效重新登录后直接跳转到请求内容页面的解决方案
- session失效对自动跳转登录页面
- iframe session失效,跳转登录页面
- 在session过期后如何跳转到登录页面
- session过期后自动跳转到登录页面
- ajax提交session超时跳转页面,全局
- # C++网络请求(get,post,上传图片)与QML混合编程
- 记录1
- 代码中快捷安装、删除apk的两种方式
- 从zbar中提取的bresenham算法
- h5实现输入框fixed定位在屏幕最底部兼容性
- ajax session失效后,跳转到登录页面的全局处理
- iOS小问题(三)
- BootStrap table分页
- Android中attrs.xml文件的使用详解
- DVWA-1.9系列操作之FileInclusion
- R
- jquery事件与绑定事件
- numpy学习日记(二)
- Hadoop下hive数据库基础操作命令代码合集