Auf Active Directory in ASP.NET zugreifen
Ich benutze eine Konsolenanwendung, um einen Testcode zu schreiben:
/// <summary>
/// Returns AD information for a specified userID.
/// </summary>
/// <param name="ntID"></param>
/// <returns></returns>
public ADUser GetUser(string ntID)
{
DirectorySearcher search = new DirectorySearcher();
search.Filter = String.Format("(cn={0})", ntID);
search.PropertiesToLoad.Add("mail");
search.PropertiesToLoad.Add("givenName");
search.PropertiesToLoad.Add("sn");
search.PropertiesToLoad.Add("displayName");
search.PropertiesToLoad.Add("userPrincipalName");
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
return new ADUser(result);
}
Und das hat in der Konsolen-App gut funktioniert. Beim Verschieben in eine ASP.NET-Anwendung wurde jedoch eine Fehlermeldung angezeigt, dass die richtige Domäne nicht bekannt ist.
Gibt es einen Trick, den ich für den Zugriff auf AD vermisse, wenn ich mit dem ASPNET-Konto arbeite?
BEARBEITE: Es reicht nicht aus, nur eine LDAP: // -Domänenverbindungszeichenfolge zu übergeben, da ein tatsächliches Login / Passwort erforderlich ist. Da dies auf einem lokalen Konto auf einem Computer ausgeführt wird, bin ich nicht sicher, welches AD L / P verwendet werden soll. Kann ich das Konto des zugreifenden Benutzers irgendwie an dieses delegieren?
EDIT # 2: Beim Versuch, Identitätswechsel zu verwenden, erhalte ich eine DirectoryServicesCOMException mit:
Der Authentifizierungsmechanismus ist unbekannt.