Versucht, die Verzeichnisse und Dateien innerhalb eines bestimmten Ordners aufzulisten. Dieser Ordner hängt vom aktuellen Benutzer (Page.User) ab, der sich über die Windows-Authentifizierung (NTLM) anmeldet und aus dem Active Directory abgerufen wird ( homedirectory
Eigenschaft).
Ich verwende einen Domänenbenutzer, um auf das AD zuzugreifen und den Speicherort des Ordners abzurufen; dies funktioniert problemlos.
Was nicht funktioniert, ist das Abrufen der Unterordner mit System.IO.DirectoryInfo.GetDirectories()
sogar mit Nachahmung.
Hier ist der Code, den ich für die Nachahmung verwende:
System.Security.Principal.WindowsImpersonationContext impersonationContext;
impersonationContext = ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();
Ich habe mich vergewissert, dass der Benutzer, als der er sich ausgibt, Zugriff auf den Ordner hat.
Nach dem, was ich bisher gefunden habe, scheint es, dass ich entweder eine Delegation oder eine Kerberos-Authentifizierung einrichten muss, stimmt das? Sind dies die einzigen Möglichkeiten, dies zu erreichen? Sollte Impersonation nicht ausreichend sein?