2010-09-26 49 views
1

我在Visual Studio中創建一個網站,2008年當他從不同的位置登錄我如何註銷從初始位置的用戶?(asp.net網站)

我想允許當前用戶登錄,但註銷任何以與當前用戶相同的用戶名登錄的其他人。 (就像Y!M在從不同位置登錄時所做的一樣:它會從初始位置註銷)爲了管理登錄和註冊,我使用visual studio createuserwizard並登錄cotrol。

任何ideeas?

+0

您確定這是理想的行爲嗎?我想不出任何可以爲此感激的Web應用程序。 (我在多臺機器上都安裝了gmail,如果在一臺機器上使用它,意味着當我回來時我必須從另一臺機器上重新登錄,這會很痛苦。) – 2010-09-26 16:10:58

+0

我想不出任何其他方式來防止多個用戶使用/共享相同的用戶帳戶。 – Cristian 2010-09-26 16:40:47

回答

0

在做了一些額外的研究後,我想出了一個解決方案。

每當用戶登錄時,我都會創建一個會話,比如session [「user」] = NewGuid(),然後將該GUID值添加到該用戶的數據庫字段中。 (例如,在users表中,我添加了一個名爲session的新列)

然後,對於用戶發送到網頁的每個請求,我檢查他的會話值是否與在他的會話數據字段中找到的會話值相同數據庫表。如果不是,那麼這意味着有人在使用該用戶名,因此在數據表的會話字段中創建了一個新的值。在這種情況下,我將他註銷並保留僅登錄的最後一位用戶。

0

如何通過Global.asax.cs中的Application_AuthenticateRequest方法檢查它們是否已經登錄。當然,要做到這一點,您需要先從他們登錄的地方開始查找某種表格。您可以獲取並使用用戶的IP地址,以確定來自不同ISP的代理服務器是否會在該方法中出現摺痕。或者,您可以使用cookie來首次設置GUID,然後檢查後續登錄會話中是否存在相同的GUID,以確定是否要終止其他會話。

它是一個開始。

+0

我一直在設置一個GUID或在登錄時查看一些信息,但在實踐中我無法獲得任何工作。如果你也可以提供一些代碼,那將是非常好的。謝謝。 – Cristian 2010-09-26 16:44:51

相關問題