2011-12-27 74 views
0

當會話在應用程序中失效或驗證被拒絕點擊某個按鈕時,我們會顯示一條消息('session expired'或'authentication failed'),然後將用戶登錄頁面。在彈出窗口中處理會話過期並且身份驗證失敗

問題是,當會話在某個屏幕上到期,並且用戶在會話過期後點擊彈出鏈接時,彈出窗口打開,然後登錄頁面顯示在彈出窗口中。同樣的身份驗證失敗。

我需要的是,在超鏈接的點擊,就應該直接進入登錄頁面(我的理解是超鏈接是不打服務器)

我們怎樣才能避免這種情況得到。

我們使用的是基於Java的Web應用程序

這是我們用於打開彈出

window.open(url,"_blank","directories=no, 
    resize=no,scrollbars=yes,status=no,width=720, height=380, 
    top=250,left=250"); 

您的幫助表示讚賞代碼。

回答

0

使用scriplet來控制它。

// assuming that you have some kind of variable in the session which will get null if your session gets expired 
    <% if(session.getAttribute("uid")!=null){%> 
     window.open(url,"_blank","directories=no, 
     resize=no,scrollbars=yes,status=no,width=720, height=380, 
     top=250,left=250"); 
    <%}else{%> 
     //wirte your redirect js 
    <%}%> 
+0

我會建議使用JSTL代替。 – 2011-12-27 06:53:22

+0

@ Harry:JSTL?怎麼樣 ? – user2434 2011-12-27 06:54:48

+0

@ user2434而不是'if(...)... else ...'使用''或'' – 2011-12-27 06:56:29