title: How to run application in an authenticated manner
body: <p>I've created a small application which attempts to authenticate a user based on their username and password. This application works correctly when run on the same domain which Active Directory resides on.</p>
  
  <p>I must now extend the application to also work on domains which are "closed" in terms of security and permissions. In other words, is there a way to run the application based on an administrator account, or an account which has the necessary permissions to access the Active Directory?</p>
  
  <p>This is the code I have used to authenticate a user:</p>
  
  <pre><code>using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, server + ":" + port))
  {
         if (pc.ValidateCredentials(username, password))
         {
                valid = true;
         }
         else 
         {
                valid = false;
         }
  }
  </code></pre>
  
  <p>The above code works perfectly, however I would like to modify it so that it can communicate with the Active Directory database in an authenticated manner.</p>
  
  <p>I have read numerous documentation and resources, but have not found anything. The closes I found was an article mentioning that IIS has to be set up and configured in a specific manner. However, my application is a simple C# application, and IIS is not being used.</p>