如何從不在域中的機器訪問AD。我有一個應用程序需要在某些機器上運行,這些機器是域的一部分,有些則不是。從機器訪問AD而不是域的一部分
我假設我必須從不在域中的機器提供有效的登錄令牌,但用戶名和密碼必須是。
建議.net和AD
如何從不在域中的機器訪問AD。我有一個應用程序需要在某些機器上運行,這些機器是域的一部分,有些則不是。從機器訪問AD而不是域的一部分
我假設我必須從不在域中的機器提供有效的登錄令牌,但用戶名和密碼必須是。
建議.net和AD
您可以使用一個PrincipalContext上的constructor,其中需要查詢的域的名稱,訪問域時使用的用戶名和密碼。這個版本還可以讓你指定要聯繫哪個服務器來做你的查詢。
using (var context = new PrincipalContext(ContextType.Domain,
"dc.example.com",
authUser,
authPassword)) {
var valid = context.ValidateUser(userName, userPassword);
...
}
System.DirectoryServices命名空間提供了一堆的課程,以幫助您連接到AD什麼書,DirectoryEntry的類允許您指定您的憑據用戶名和密碼,以便可能會讓你開始。
另外,還有System.DirectoryServices.AccountManagement命名空間,它甚至有更多的類可以更好地抽象AD工作。
我從來沒有讀過任何有關.NET與AD的書,但微軟嘿,腳本專家有一堆他們用於與AD交談的腳本,你可以從這些腳本學到很多東西,例如編寫查詢和訪問屬性名稱。這和他們只是很多樂趣閱讀:)
的最佳.NET編程的書爲Active Directory/LDAP在我看來是The .NET Developer's Guide to Directory Services Programming由喬·卡普蘭和瑞恩·鄧恩。優秀的閱讀,非常廣泛,非常深刻,非常完整。強烈推薦!
Marc