2013-02-25 35 views
2

檢查會話已經過期,如果是,則通過使用JavaScript如Facebook重定向到首頁,如果我按CTRL + 轉變 + 德爾做好每一次然後它顯示登錄窗口。我使用的.aspx網頁和使用WCF服務如何檢查每一個時間,如果用戶會話中的JavaScript過期

+0

需要更多的信息,如果你想要會話,那麼你需要像servlet/jsp等東西。你用什麼,如果沒有任何只是JavaScript和HTML,你可以使用Cookie,但不建議 – shareef 2013-02-25 09:33:56

+0

你永遠不應該實現訪問控制JavaScript的。 – symcbean 2013-02-25 09:37:26

+2

每次檢查會發生什麼? – VeXii 2013-02-25 09:38:38

回答

-1

你可以寫一個PHP文件來檢查會話是否已經過期,如果過期則標題必須給出參數作爲位置:首頁
該文件必須包括在每一個你的頁面中加入了
「include'filename.php'」或‘需要一次’功能

1

我不知道這是不是最好的解決辦法,但在這裏,將每500毫秒測試解決方案,如果用戶會話已過期

檢查器每隔500毫秒永久性地使用「setInterval」函數創建會話變量:

function CheckSession() { 
       var session = '<%=Session["username"] != null%>'; 
       //session = '<%=Session["username"]%>'; 
       if (session == false) { 
        alert("Your Session has expired"); 
        window.location = "login.aspx"; 
       } 
      } 

setInterval(CheckSession(),500); 

在這裏看到:http://www.daniweb.com/web-development/javascript-dhtml-ajax/threads/362898/check-for-session-timeout-in-javascript-and-redirect-to-login-page#

+0

我完成了,但是當我刪除歷史記錄時,會話值沒有過期,它在setInterval中的每n秒顯示一次警報中的會話值 – Shailesh 2013-02-25 10:25:30

+2

至少因爲在ASP.NET頁面呈現期間生成一次JavaScript代碼而無法工作。這意味着「<%= Session [」username「]!= null%>」將被替換爲「true」或「false」一次,然後不會被更新。 – 2015-05-26 03:10:55

-1

基本上你可以在頁面加載檢查是否有您的會話變量,這些變量應該有一個價值爲空或不是。如果會話變量爲空,則重定向頁面。

相關問題