2011-04-02 108 views
1

上下文:Excel插件需要測試當前的Windows用戶是否是有效的活動目錄用戶(並根據此)確定當前用戶是否正在登錄到Active Directory(或者是有效的活動目錄用戶)

我設置了Active Directory成員資格提供程序。使用System.Security.Principal.WindowsIdentity用戶,我取出域名(用戶帳戶名稱爲\),然後使用用戶名對Active Directory(Membership.GetUser())中的sAMAccountName進行測試。

這是測試當前用戶是否登錄到活動目錄的有效方法嗎?

我得到的印象我只測試活動目錄中是否存在當前用戶帳戶名稱,但實際上並不知道當前用戶是否實際登錄到活動目錄。

然後再次,我不知道什麼'登錄到活動目錄'意味着...我很新的活動目錄!

+0

您是否錯過了這裏的一些環境?你談到了Excel插件,然後你談到了Active Directory成員提供程序。據我所知,Active Directory成員資格提供程序是用於ASP.NET的。它如何與你的Excel插件相關? – 2011-04-03 02:19:12

+0

我錯過了上下文!道歉,我錯過了重要的一步。認證實際上是在WCF服務中發生的,Excel插件通過它向AD提供者進行調用。但是,我的測試使用了簡單的命令行應用程序。似乎工作正常! – genki 2011-04-03 21:11:30

回答

1

也許這會幫助你:

一旦檢索到的WindowsIdentity可以通過讀取其用戶屬性來獲取的SecurityIdentifier(SID)唯一標識用戶。

如果您想確定此帳戶是否存在於Active Directory存儲中,您可以不通過用戶名搜索目錄,而是使用SecurityIdentifier。這樣你就不必擔心用戶名混音。

如果您不想確定用戶登錄到哪個域,您可以閱讀用戶的SecurityIdentifier的AccountDomainSid屬性。這將爲您提供唯一標識域的SecurityIdentifier。

+0

謝謝!這給了我更多的信心,我所看到的用戶憑證是正確的。 – genki 2011-04-03 21:41:28

相關問題