Try replacing your Authentication method.
private bool Authenticate(string userName,
string password, string domain)
{
bool authentic = false;
try
{
DirectoryEntry entry = new DirectoryEntry("LDAP://" + domain,
userName, password);
object nativeObject = entry.NativeObject;
authentic = true;
}
catch (DirectoryServicesCOMException) { }
return authentic;
}
thund3rstruck wrote a very nice article about working with Active Directory.
Howto: (Almost) Everything In Active Directory via C#[
^]