DWR 控制请求session过期处理
来源:互联网 发布:高铁争夺战 知乎 编辑:程序博客网 时间:2024/05/17 07:49
摘自:http://m.blog.csdn.net/blog/wxiongcheng13/6587490
项目中使用DWR架构,默认情况下并不能监听到session过期,从而导致了session过期dwr的操作依然可以正常进行,下面了一套处理方案:
1:web.xml配置dwr的servlet中添加参数:
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>2:java中添加一个类继承 DefaultRemoter,实现 public Replies execute(Calls calls) ;方法
例如:
public class DWRSessionService extends DefaultRemoter {
public Replies execute(Calls calls) {
HttpSession session = WebContextFactory.get().getSession();
// session检查
if(!LoginUser.isLogin(session)){
logOut();
return super.execute(new Calls());
}
return super.execute(calls);
}@SuppressWarnings("deprecation")
private void logOut() {
System.out.println("dwr session过期");
WebContext wct = WebContextFactory.get();
Util utilThis = new Util(wct.getScriptSession());
utilThis.addScript(new ScriptBuffer("logout()"));}
}
3:页面中添加一个公用的方法logout
function logout(){
alert("系统提示","由于您长时间未操作,为了保障您的账户安全系统SESSION已自动过期,请重新登陆!"}
通过以上3步骤就能实现了dwr session过期的处理。
存在问题:
1、如果你的登录页面也是dwr处理的,那就需要你自己再想办法来处理跳过登录页面
2、不是dwr请求的当然,这个处理是无效的
这两点是个人总结,如果有误请指出
- DWR 控制请求session过期处理
- DWR session过期处理方案
- DWR session过期处理方案
- DWR的异常处理及session过期
- dwr调用时session过期处理
- DWR的异常处理及session过期
- Ajax请求session过期处理
- dwr之session过期
- Ajax 请求session过期的统一处理
- dwr接受session过期提示
- session过期时间控制
- session过期,处理ajax请求,使其重新登录
- ajax请求时session已过期处理方案
- ajax请求时session已过期处理方案
- Session过期处理
- Session过期处理_1
- Session过期处理_2
- Tomcat处理过期Session
- java 将多个文件打成压缩包
- PHPnow-1.5.6网站开发
- Jquery-solider 幻灯片效果
- MySQL字符编码乱码问题
- 【STL】序列式容器--vector
- DWR 控制请求session过期处理
- ext-dwr-mybatis分页实现
- 使用postgreSQL DataSync 进行pg数据库升级 数据同步 升级脚本生成, postgreSQL DataSync简单教程
- ssh登录问题出现Pseudo-terminal will not be allocated because stdin is not a terminal错误
- Spring 常用工具类
- java HttpSession理解
- 数据结构实验——排序
- SpringBoot 缓存
- java 获取系统属性