2016-11-19 61 views
0

我正在使用MVC4-asp.net中的Web應用程序。對於登錄,我正在使用簡單成員資格提供程序方法登錄。所有工作都正常但按照項目要求將不會有同一用戶無法同時在不同的機器上登錄。如何對MVC簡單成員資格進行更改。如果任何用戶已登錄,並且任何一個用戶都嘗試使用相同的用戶名同時登錄,那麼它將會顯示消息如「此用戶已登錄」,此時用戶將無法登錄。如何在MVC4中同時多次阻止同一用戶登錄

請給出一些建議。 在此先感謝。

+2

你試過搜索嗎?這已經討論了很多次了。您不希望這樣做,因爲登錄的用戶可能會丟失(訪問)他們的Cookie,導致他們無法從任何地方登錄。或者,您可以實施「心跳」,說「我還在登錄!」,這也有許多潛在的問題。相反,請採用最簡單的方法,讓給定用戶的每個新登錄都會使所有用戶的早期會話失效。 – CodeCaster

+0

信號解決方案應該適合您,您是否已經檢查過它? – MDDDC

+0

@MDDDC SignalR是實現「心跳」以確定某人是否已登錄的衆多方式之一,但它實際上只是整體實施的一小部分。 – CodeCaster

回答

0

您可以通過多種方式來進行,簡單的辦法是

  1. 設置一個標誌,在登錄時到數據庫中。
  2. 每次登錄時都檢查標誌
  3. 在註銷時刪除標誌。

使用這種方法存在一些問題,比如用戶在沒有註銷的情況下關閉瀏覽器,因爲您可以設置會話超時。希望這會有所幫助。

相關問題