Search code examples
c#.netasp.net-mvc-4windows-authentication

Authenticating another user when using Windows Authentication


I have a .NET MVC 4 application that uses Windows authentication. Some users are administrators, and need to be able to enter data on behalf of other users.

I have a text box where the admin enters the name of another user. How can I check to verify that the text entered is an existing Windows username?


Solution

  • You could use the FindByIdentity method:

    string username = "Some username you retrieved from the TextBox";
    
    using (var ctx = new PrincipalContext(ContextType.Domain, "YOUR_DOMAIN"))
    using (var user = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, username))
    {
        bool userExists = user != null;
        // here you know whether the user exists or not
    }