我有一個ASP.NET Web窗體應用程序。此應用程序不是內部使用的,而是將安裝在服務器上並出售給將在內部使用它的客戶。因此,我們限制了可以訪問它的用戶數(不同的包:10,25,50或無限制)。但是,問題在於,使用ASP.NET身份驗證時,允許併發登錄。這意味着,如果客戶擁有10個用戶的系統,他們都可以作爲同一用戶登錄,並且實際上可以無限制地訪問用戶。因此,如果「Dave」以Dave的身份登錄,那麼Jim可以以Dave身份登錄,Bob,John,Stacey以及任何人都可以登錄。ASP.NET身份併發登錄
我缺少的是一種強制併發登錄註銷的方法,如果是同一個用戶。所以如果Bob試圖以Dave的身份登錄,那麼Dave(原始登錄名)會被註銷。
我發現了一些有點解決這個問題的例子,但他們有點過時了,並且是針對MVC的。
根據您在應用程序中檢查安全性的方式,您可以殺死所有以前生成的令牌等,以便爲用戶工作,以便只有最新的登錄才能正常工作。但是,如果你沒有驗證應用程序內的用戶(至少在每個頁面加載和/或Ajax請求時說),那麼你將會遇到更多麻煩。你能分享一下你的系統是如何工作的,因爲身份是高度可定製的,每個人都傾向於創造自己的風格。 – Kyle
@Kyle現在,我只使用基本功能。我開始使用ASP.NET的模板,其中包括默認頁面,所有帳戶頁面(登錄,確認,管理密碼等)。我只想在每次登錄時驗證用戶,因此在這種情況下,登錄時需要檢查同一用戶是否已登錄,如果是,則強制登出。 – Saint7992