Подтвердить что ты не робот

Проверить идентификатор пользователя в Active Directory с помощью С#

Как проверить, существует ли USERID в Active Directory или нет.

У меня есть LDAP String и UserID, могу ли я определить, существует ли этот UserID в Active Directory или нет. Я использую это для веб-приложения ASP.NET(.NET 3.5)

4b9b3361

Ответ 1

Вы можете сделать что-то в соответствии с (заменяя домен доменом, который вы аутентифицируете или полностью удаляете):

public bool DoesUserExist(string userName)
{
    using (var domainContext = new PrincipalContext(ContextType.Domain, "DOMAIN"))
    {
        using (var foundUser = UserPrincipal.FindByIdentity(domainContext, IdentityType.SamAccountName, userName))
        {
            return foundUser != null;
        }
    }
}

Чтобы проверить, существует ли пользователь. Это происходит из пространства имен и сборки System.DirectoryServices.AccountManagement.

Дополнительную информацию можно найти на http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx

Возможно, вы захотите еще раз проверить в PrincipalContext, поскольку у него есть интересные методы аутентификации учетных данных пользователя и т.д.

Ответ 2

Я бы использовал пространство имен System.DirectoryServices.AccountManagement.

string UserID = "grhm";
bool userExists = false;

using (var ctx = new PrincipalContext(ContextType.Domain))
{
    using (var user = UserPrincipal.FindByIdentity(ctx, UserID))
    {
        if (user != null)
        {
            userExists = true;
            user.Dispose();
        }
    }
}

Подробнее о http://msdn.microsoft.com/en-us/library/bb344891.aspx