Der Versuch, die Verzeichnisse und Dateien in einem bestimmten Ordner aufzulisten. Dieser Ordner hängt vom aktuellen Benutzer (Page.User) ab, der sich von der Windows-Authentifizierung (NTLM) anmeldet und aus der Active Directory-Eigenschaft (homedirectory
) abgerufen wird.Zugriff verweigert, wenn angenommen wird, dass der aktuelle Benutzer auf den Netzwerkordner zugreift
Ich verwende einen Domänenbenutzer, um auf die AD zugreifen und den Ordner Speicherort abrufen, das funktioniert gut.
Was schlägt fehl ist das Abrufen der Unterordner mit System.IO.DirectoryInfo.GetDirectories()
auch mit Identitätswechsel.
Hier ist der Code, den ich für den Identitätswechsel mit:
System.Security.Principal.WindowsImpersonationContext impersonationContext;
impersonationContext = ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();
ich überprüft haben, dass der Benutzer Zugriff hat auf den Ordner verkörperten.
Aus was ich bisher gefunden habe scheint, dass ich entweder Delegierung oder Kerberos-Authentifizierung einrichten muss, ist das wahr? Sind dies die einzigen Möglichkeiten, dies zu erreichen? Sollte nicht Nachahmung genug sein?
Haben Sie diesen Stackoverflow vorheriges Posting ..? http://stackoverflow.com/questions/2563724/accessing-password-protected-network-drives-in-windows-in-c/2563809#2563809 – MethodMan