Podłączenie do domeny używając loginu i hasła
private string GetLDAPConnection(string domainController, string domainUserName, string password)
{
string ldapConn = string.Format("LDAP://{0}/rootDSE", domainController);
DirectoryEntry root = new DirectoryEntry(ldapConn, domainUserName, password);
string serverName = root.Properties["defaultNamingContext"].Value.ToString();
return string.Format("LDAP://{0}/{1}", domainController, serverName);
}
public void ConnectToDomain(string domainController, string domainUserName, string password)
{
ctx = new PrincipalContext(ContextType.Domain, domainController);
try
{
if (ctx.ValidateCredentials(domainUserName, password))
{
string ldapConn = GetLDAPConnection(domainController, domainUserName, password);
dirEntry = new DirectoryEntry(ldapConn, domainUserName, password);
MainWindow.logToWindow("Zalogowano " + domainUserName + " do " + domainController);
}
else
{
MainWindow.logToWindow("Niezalogowano " + domainUserName + " do " + domainController + "\n Sprawdź login i hasło");
}
}
catch (Exception ex)
{
MainWindow.logToWindow(ex.ToString());
}
}