Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check UserID exists in Active Directory using C#

How can we check whether the USERID exists in Active Directory or not.

I have LDAP String and UserID, can I find whether that UserID exists in Active Directory or not. I am using this for ASP.NET Web Application (.NET 3.5)

like image 653
msbyuva Avatar asked Dec 15 '10 19:12

msbyuva


2 Answers

You can do something along the lines of (replacing domain with the domain you're authenticating against or removing the parameter altogether):

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;
        }
    }
}

To achieve checking for if a user exists. This comes from the System.DirectoryServices.AccountManagement namespace and assembly.

You can find more information at http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx

You may want to check more into PrincipalContext as it has interesting methods for authenticating user credentials and such.

like image 119
Joshua Rodgers Avatar answered Nov 10 '22 03:11

Joshua Rodgers


I would use the System.DirectoryServices.AccountManagement namespace.

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();
        }
    }
}

See http://msdn.microsoft.com/en-us/library/bb344891.aspx for more info

like image 30
Grhm Avatar answered Nov 10 '22 04:11

Grhm