2009-06-09 3 views
2

Wir haben eine ASP.NET (3.5) -Anwendung, die Formularauthentifizierung verwendet, um Konten zu authentifizieren. Auf dem Anmeldeformular erhalte ich auch ein Windows-Login-Token mit LogonUser, mit dem ich den angemeldeten Benutzer zum Durchsuchen privater Verzeichnisse verwende (die Dateien werden in einer GridView angezeigt, und der Benutzer wird imitiert, bevor die Daten gebunden sind.) Ich habe gerade gelernt, dass wir auch den Benutzer in einem virtuellen Verzeichnis imitieren müssen. Gibt es eine Möglichkeit für mich, die Identität anzunehmen, kurz bevor das virtuelle Verzeichnis geladen wird, oder über die gesamte Anwendung hinweg, ohne zur Windows-Authentifizierung wechseln zu müssen?Wie kann ich beim Öffnen eines virtuellen Verzeichnisses einen anderen Benutzer annehmen?

Antwort

1

Wenn Sie nur eine einzige Aufgabe durchführen (wie eine Netzwerkressource zugreifen) Ich mag ein vorhandenes AD-Konto ich nur für solche Zwecke erstellen verwenden und Call es in-code.

Ich möchte das hier gefundene Beispiel http://support.microsoft.com/kb/306158 in eine Helferklasse abstrahieren. Dies ermöglicht es, so etwas zu tun ...

helperImpersonate hI = new helperImpersonate(); 

if (hI.impersonateValidUser("ADUSERNAME", "DOMAIN", "PASSWORD")) 
{ 

    //DO STUFF HERE... 

    hI.undoImpersonation(); //undo the impersoination 
}//end if impersonate is true... 
+0

Das ist, was ich derzeit tun, aber ich bin nicht sicher, wo wir den Identitätswechsel in unserem Code tun können, wenn Sie ein virtuelles Verzeichnis durchsuchen, oder wenn die ganze Sache wird von IIS behandelt. – pschorf

+0

Warum können Sie bei der Erstellung des virtuellen Verzeichnisses nicht auf das virtuelle Verzeichnis mit dem von Ihnen gewählten AD-Konto zugreifen? Oder ändern Sie die Einstellungen unter der Verzeichnissicherheit nach ihrer Erstellung? –

Verwandte Themen