2011-05-16 70 views
0

我有一個使用SQL ASP.net會員系統的asp.net網站。當用戶登錄到網站並且在20分鐘內不活動時,他們會被髮送到下一頁請求的登錄頁面。我想在登錄頁面上顯示一些文字,說明「您因閒置而退出」。有沒有內置的方法來做到這一點?或者我可以用其他方式區分用戶被髮送到登錄頁面的原因(針對不活動或其他原因)?我曾經搜索過SO和Google,但一直未能提出任何建議。使用asp.net會員時獲取登錄提示的原因

我們需要這樣做的原因是因爲我們最近從網站以前的版本遷移過來,這個網站對安全性並沒有自動註銷,所以我們從用戶那裏得到很多反饋,認爲有問題與網站時,他們被提示再次登錄。

在此先感謝。

回答

1

對於閉合的目的,我會回答我的問題。我找不到乾淨的方式來做我想做的事情,所以我最終在用戶登錄後以登錄時間設置了一個cookie。然後在登錄表單頁面上,我看到cookie中的登錄時間是大於30分鐘(我在asp.net中的身份驗證超時)並顯示「由於不活動而被註銷」消息。否則它不顯示消息。

不是很好,但它似乎工作。滿足絕大多數用戶的要求。

2

爲此更好使用javascript並對其採取主動措施,如果可能,則顯示超時剩餘時間,否則只是通過提示用戶顯示他的會話已超時並將其重定向到登錄頁面來提醒用戶。看一個簡單的例子here

要他重定向到登錄頁面下面添加以下行作爲例子:

alert("Your current Session is over."); window.location = "YourLoginPage.aspx"; 
+0

我們已經考慮過這個問題,但我們不能總是假設啓用了javascript。如果可能的話,我們喜歡在實際的登錄頁面上輸入內容 謝謝。 – user714241 2011-05-16 15:57:43

+0

我們正在使用進程中的sessionstate模式。我想在創建新會話cookie時尋找舊會話cookie,但如果所有瀏覽器窗口都沒有關閉,我認爲它會被回收,所以我認爲這不會起作用。我還有什麼可以使用Session_End?謝謝。 – user714241 2011-05-16 16:15:20

+0

session_End的問題在於它只是服務器端的清理資源觸發器,這就是爲什麼我想了一會兒並刪除了評論。我真的不能想到其他任何東西,除非通常發生這種情況,url將包含查詢字符串以及它需要重定向回的位置,您可以檢查是否存在實際的重定向,然後向用戶顯示一些通用消息,但問題是你不知道用戶是否只想訪問該頁面而不登錄並調用相同的東西 – 2011-05-16 16:20:23

相關問題