簡體   English   中英

如何限制同一用戶C#和Active Directory成員身份的多個登錄

[英]How restrict multiple logins same user C# and Active Directory membership

如何使用AD成員身份和C#防止同一用戶的多次登錄?

我嘗試使用MembershipUser.IsOnline,但是AD成員資格提供程序不支持此功能。

這是一個代碼:

                MembershipUser muser = Membership.GetUser(model.UserName);
                if(muser.IsOnline)
                {
                    //TODO
                }

但是它抓住了這個例子:Active Directory成員資格提供程序不支持“ LastLoginDate”

沒有AD成員資格類的幫助,但仍然:

  • 每次會話開始時,將用戶的SessionId添加到Application中。
  • 將用戶的SessionId添加到他的Cookie中

每個請求都必須檢查SessionId是否匹配。

這似乎是活動目錄中的配置問題,您可以將網絡策略中的緩存憑據設置為0,這樣就不會使用kerberos票證緩存。

然后,您必須解決下一個問題,即您的網絡中允許登錄多少個,本文介紹了一種方法: http : //technet.microsoft.com/zh-cn/magazine/2005.05.utilityspotlight。 aspx

我認為我遇到的情況有些不同,但是我認為可以應用相同的原則。 我的情況是如此,我必須確保一次只能從一台設備登錄用戶ID(順便說一句,Forms Authentication,而不是AD)。 當用戶ID嘗試登錄另一台設備同時仍登錄到現有設備時,它終止了其現有設備上的會話,同時允許他們登錄到新設備。 我在Stack Overflow的原始帖子上寫了一個解決方案:

當同一用戶ID嘗試登錄多台設備時,如何殺死另一台設備上的會話?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM