2014-09-19 105 views
1

上午通知使用ASP.net MVC 5與標識2 當用戶註銷ASP.net MVC時有通知的方式注意:A用戶可以在不訪問或點擊「註銷」鏈接的情況下注銷。 當用戶註銷時,我想獲取一些與會話相關的信息,並寫入數據庫。 謝謝當用戶註銷ASP.net MVC

+0

不知道你在做什麼。由於您知道身份驗證cookie的長度,因此當用戶登錄時,您可以向數據庫寫入登錄日期和日期,以便過期。如果在此之前,他們點擊註銷,則更新當前日期和時間的值。 – MikeSmithDev 2014-09-19 20:57:08

+0

@MikeSmithDev說認證超時值是3分鐘。這意味着,在3分鐘不活動後,系統會提示用戶再次登錄(注意:每次他們到達站點時,3分鐘的時鐘都會被重置 - 所以只有在他們閒置時纔會超時)。 – teko 2014-09-19 21:17:51

+1

如果您有一個滑動cookie,則註銷將在上次加載3分鐘後發生。你是否記錄每個頁面擊中認證用戶?如果是這樣,你可以放棄最後一次活動。 – MikeSmithDev 2014-09-19 21:24:17

回答

0

你可以做到這一點與SignalR沒有太大的困難。您可以爲OnlineUsers創建一個表,並在集線器的OnConnected和OnDisconnected事件中添加/刪除。

沒有它就很難獲得可靠的解決方案。

+0

我相信他的意思是通知服務器,而不是用戶,因爲他說用戶可以在不訪問的情況下注銷。我猜這意味着cookie過期了。不太清楚。 – MikeSmithDev 2014-09-19 19:11:44

+0

是的@MikeSmithDev你是對的,我想登錄到數據庫,用戶x是在y日期註銷 – teko 2014-09-19 19:20:44

+0

對不起,我應該在我的解釋更清晰。 SignalR是一個.Net組件,它允許您的服務器在瀏覽器中瞭解客戶端會話。它使用網絡套接字,長輪詢等組合來實現這一點。儘管如此,這些都是從你身上抽象出來的。重要的是服務器上運行的SignalR Hub中有2個事件可用於寫入數據庫。即,OnConnected/OnReconnected和OnDisconnected。 – 2014-09-19 19:31:39