在JOffice(OA)中,我们的应用程序是属于那种One Application One Page,所有的请求都是都可以说是通过Ext.data.Connection来处理的,因此可以在这里做一个特别的处理,当session timeout时,让程序直接跳至登录页。或弹出一个登录的窗口,两种方式均可。
JOffice(OA)中的安全采用了Spring Security 2,即用户在未登录或session过期中,其访问的地址就会被转移至login.jsp,配置如下所示:
<http auto-config="true" access-denied-page="/403.jsp" lowercase-comparisons="true" >
<form-login default-target-url="/index.jsp" login-page="/login.jsp" authentication-failure-url="/login.jsp?error=true" login-processing-url="/j_security_check" />
<logout logout-url="/j_logout.do" logout-success-url="/login.jsp"/>
<remember-me key="RememberAppUser"/>
</http>
那么,当页面跳至login.jsp时,我们在该页面设置一个Response Header告诉浏览器,该用户的session已经timeout,代码如下所示:
<%
response.addHeader("__timeout","true");
%>
而剩下的就是处理该标识:
代码如下:
Ext.onReady(){
Ext.util.Observable.observeClass(Ext.data.Connection);
Ext.data.Connection.on('requestcomplete', function(conn, resp,options ){
if (resp && resp.getResponseHeader && resp.getResponseHeader('__timeout')) {
window.location.href=__ctxPath+'/login.jsp';
}
});
}
说明:
Connection的这个requestcomplete事件是所有的Ajax请求都必须触发的,所以把它作为总的入口。
分享到:
相关推荐
本文针对企业人力资源管理系统的实际需求,基于ExtJS+SSH的实现。
extjs3.0 ajax 同步请求
使用filter来做后台,Ext.Ajax.on('requestcomplete', checkUserSessionStatus, this);用requestcomplete这个方法来异步判断session是否已经失效了
extjs动态树struts请求数据json数据格式
Extjs 4.1 (MVC) 如何动态加载控制层以及session 过期该如何处理
extjs ajax同步请求所需js extjs ajax同步请求所需js
网络课程包含了以下主要的技术面:前端采用Extjs4.x;后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作流引擎。 课程经由基础学习向高阶跨进,一步一步介绍了前后台的关系,以及前后台的整合、JBPM...
资料中有关于ajax框架中的Extjs框架的详细解释,异步请求和响应,以及一些特殊的用途.
J2EE最新精品项目源码Struts2.0+Hibernate+Spring+ExtJS
EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用
Extjs+Designer+Preview 官方的extjs可视化IDE设计工具3.0 汉化版
extjs资料extjs资料extjs资料extjs资料extjs资料
项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议
Extjs例子Extjs例子Extjs例子Extjs例子Extjs例子
ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门ExtJS快速入门 ExtJS快速入门 ExtJS...
extjs 富客户端界面设计 grid分页后台处理
htmleditor扩展插入图片功能,使用Extjs+servlet请求实现。 htmleditor插入图片功能 Extjs servlet
Extjs4 表单从数据库读取数据映射到对应的字段中显示
1.主要是Extjs方面的一些学习笔记。重点方面有事件处理,动态载入等相关介绍。
xtJs已经升级到了5.0了,目前可能多数应用还在使用ExtJs 3.系列。 从开发大型的web后台或者企业管理系统来看,ExtJs3的缺陷还是比较明显的,从ExtJs4 开始引入了MVC架构,从而能够从容的组织系统的JS文件了。 从...