小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ExtJs J2EE的Session過時(shí)請(qǐng)求(Timeout)的處理

 yfm10 2010-05-30

ExtJs J2EE的Session過時(shí)請(qǐng)求(Timeout)的處理

發(fā)布時(shí)間: 2009-11-11 00:00

在JOffice(OA)中,我們的應(yīng)用程序是屬于那種One Application One Page,所有的請(qǐng)求都是都可以說是通過Ext.data.Connection來處理的,因此可以在這里做一個(gè)特別的處理,當(dāng)session timeout時(shí),讓程序直接跳至登錄頁?;驈棾鲆粋€(gè)登錄的窗口,兩種方式均可。

 

JOffice(OA)中的安全采用了Spring Security 2,即用戶在未登錄或session過期中,其訪問的地址就會(huì)被轉(zhuǎn)移至login.jsp,配置如下所示:

 

Java代碼
  1. <http auto-config="true" access-denied-page="/403.jsp" lowercase-comparisons="true" >   
  2.  <form-login default-target-url="/index.jsp" login-page="/login.jsp" authentication-failure-url="/login.jsp?error=true" login-processing-url="/j_security_check" />  
  3.     
  4.         <logout logout-url="/j_logout.do" logout-success-url="/login.jsp"/>   
  5.           
  6.         <remember-me key="RememberAppUser"/>  
  7.     </http>  

 那么,當(dāng)頁面跳至login.jsp時(shí),我們?cè)谠擁撁嬖O(shè)置一個(gè)Response Header告訴瀏覽器,該用戶的session已經(jīng)timeout,代碼如下所示:

Java代碼
  1. <%  
  2.         response.addHeader("__timeout","true");  
  3.     %>  

 而剩下的就是處理該標(biāo)識(shí):

 

代碼如下:

Java代碼
  1. Ext.onReady(){  
  2.         Ext.util.Observable.observeClass(Ext.data.Connection);  
  3.     Ext.data.Connection.on('requestcomplete', function(conn, resp,options ){  
  4.         if (resp && resp.getResponseHeader && resp.getResponseHeader('__timeout')) {  
  5.             window.location.href=__ctxPath+'/login.jsp';  
  6.         }  
  7.     });  
  8. }  

 

說明:

Connection的這個(gè)requestcomplete事件是所有的Ajax請(qǐng)求都必須觸發(fā)的,所以把它作為總的入口。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多