2011-04-29 71 views
1

我是LDAP和Active Directory的新手。爲LDAP訪問創建用戶名的Active Directory

我需要建立有資格訪問特定計算機的用戶的活動目錄。當用戶在Web界面(用C#創建)中輸入用戶名和密碼時,它將通過LDAP查詢發送到活動目錄到活動目錄。如果登錄成功,AD將返回用戶的電子郵件地址。

是否可以設置Active Directory以在本地實現上述方案?我正在使用Windows 7旗艦版。我已經安裝了用於LDAP訪問的ADAM。

Regards,

John。

回答

3

由於您使用的是.NET 3.5及更高版本,因此您應該查看System.DirectoryServices.AccountManagement(S.DS.AM)命名空間。在這裏閱讀全部內容:

Managing Directory Security Principals in the .NET Framework 3.5

基本上,你可以定義域範圍內,並可以輕鬆地查找用戶和/或組AD:

// set up domain context 
PrincipalContext ctx = new PrincipalContext(ContextType.Domain); 

// validate username/password combo 
if (ctx.ValidateCredentials(username, password)) 
{ 
    // if valid - find user 
    UserPrincipal user = UserPrincipal.FindByIdentity(ctx, username); 

    if (user != null) 
    { 
       return user.EmailAddress; 
    } 
} 

新S.DS.AM使它真的很容易與AD的用戶和羣體玩耍!

亞當(或AD LDS,因爲它是今天的稱呼),你可以使用

PrincipalContext ctx = new PrincipalContext(ContextType.ApplicationDirectory); 

建立情境與ADAM目錄 - 不知道,但你可能需要提供某種形式的額外信息知道什麼應用程序目錄使用(我從來沒有在ADAM上玩過這個)。此外:我不確定您是否可以驗證ADAM商店的憑據....您只需看看並嘗試!

+0

謝謝marc_s。這是Microsoft通過System.DirectoryServices.DirectoryEntry建議的最新方法。我遇到以下讓我困惑的鏈接。 http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/729d1214-37f5-4330-9208-bc4d9d695ad0/ – logeeks 2011-04-29 10:42:21

+1

@logeeks:是的,這是使用/工作的最新/最新的MS庫與Active Directory。 – 2011-04-29 11:02:11