0

如果我的身份cookie在「ExpireTimeSpan」值過期,我將如何重定向到登錄頁面AUTOMATICALLY?我明白有一個事件「OnRedirectToLogin」,但不會觸發,除非請求通過。有沒有辦法,我可以重定向到cookie過期後立即登錄,而不是繼續發送請求來驗證超時?身份cookie過期

回答

1

除非我誤解,你想要的是服務器到達客戶端,但標準的客戶端/服務器HTTP反過來工作。客戶端應該向服務器發送請求,並在某些時候在其身份驗證Cookie已過期時重定向,但如果Cookie過期並且客戶端永遠不會向服務器請求任何更多事情,那麼它不一定非要告訴任何事情已經過期。另一種方式通過服務器通知客戶的方式可以通過多種方式來實現,但是將被保留用於非常特殊的需求。你確定你需要嗎?

+0

我完全明白你在這裏想說什麼。但在我的應用程序中,當身份cookie到期時,後續請求會重定向到登錄頁面,用戶需要登錄才能訪問他的頁面。所以,因爲用戶不知道他的cookie已經過期並嘗試訪問他的頁面,重定向回登錄頁面可能有點煩人 - 相反,我想在cookie過期或空閒時間後重定向到登錄頁面,並通知他,我在一段時間內閒置的時候簽了你的名字。 – aspnetbeginner245

+0

好吧,我想我明白你的意思了。您可以在這裏設置兩個不同的事項:1.會話的持續時間,將僅在服務器上進行加密和處理2.返回給瀏覽器的cookie的過期/最大時間。也許你可以將expires/max時間設置爲類似於會話驗證的內容,然後在cookie的過期時間內對純粹的客戶端做出反應? – Daboul

+0

您可以在服務器上以適當的最大年齡登錄時創建一個cookie,並使用一段JavaScript來監聽cookie更改客戶端:http://jsfiddle.net/ArondeParon/5RsTm/4/(從該帖子:http://stackoverflow.com/questions/4132561/is-there-a-way-to-listen-to-event-when-a-cookie-is-changed-in-a-firefox-extensio)那會避免在客戶端和服務器之間來回切換。 – Daboul