Kann ich einen Benutzer zu imitieren auf einer anderen Active Directory-Domäne .NET?
Ich habe zwei Active Directory-Domänen, A und B. der Benutzer in Domäne A muss eine Anwendung ausführen, die auf Ihren desktops anzeigen und Bearbeiten Sie eine Ressource an, die sich auf einem server in Domäne B. Jeder Benutzer hat auch ein Konto in Domäne B Ist es möglich, die Identität jedes Benutzers Domäne B Identität, um Operationen auf der Domäne B Ressourcen programmgesteuert?
Beispiel-Workflow:
- Benutzer in Domäne A.
- Benutzer startet die desktop-Anwendung.
- Benutzer wird die Ressource in Domäne B werden.
- Applikation fordert Benutzer Anmeldeinformationen für Domäne B werden.
- Anwendung die Identität des Benutzers Domäne B Identität, um Zugriff auf bestimmte Ressourcen.
- Benutzer manipuliert Domäne B Ressourcen mit der Anwendung.
InformationsquelleAutor John Ingle | 2009-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werde ich sprechen in Bezug auf die Win32-APIs, aber ich bin mir ziemlich sicher, dass Sie p/invoke, um diesen aus .NET. Überprüfen Sie http://pinvoke.net.
Müssen Sie rufen Sie die LogonUser-API erstellen Sie ein access token für den Benutzer der Domäne B Anmeldeinformationen.
Dann rufen Sie ImpersonateLoggedOnUser vorbei in das access-token. Der aufrufende thread die Identität der Domäne B Anmeldeinformationen, bis Sie die Identität eines anderen Satz von Anmeldeinformationen oder rufen Sie die RevertToSelf-API.
Ich denke, es geht ohne sagen, dass, für die LogonUser aufrufen, um erfolgreich zu sein, der Computer Sie ausgeführt werden müssen, trust-domain B.
Nein, ich denke nicht so. Kein Vertrauen-Beziehung zu bestehen zwischen den Domänen A und B. Aber je nachdem, in welcher Domäne der Rechner gehört, kann es einige andere Vertrauen Notwendigkeit, die wir nicht erwähnt haben.
Es ist mein Verständnis, dass LogonUser nicht authentifiziert remote-Anwender. Ich habe versucht, verwenden Sie diese Methode mit WindowsImpersonationContext erfolglos. LogonUser: msdn.microsoft.com/en-us/library/aa378184(VS.85).aspx, Wenn dies nicht der Fall ist, dann bin ich langsam glaube meine Probleme liegen an anderer Stelle. Es kann sein, ein Problem Vertrauensstellung zwischen den beiden Domänen. Ich werde den check-in.
Nicht sicher, was damit gemeint ist, "remote-Benutzer". Sicherlich, LogonUser dauert ein domain-parameter und können Problem-Token basierend auf der erfolgreichen Authentifizierung durch den entsprechenden domain-server.
Meine Entschuldigung, ich glaube, ich missverstanden in dem MSDN-Artikel, den ich verlinkt. Es kann nicht verwendet werden', zur Anmeldung auf einem entfernten Rechner'. So da Sie kann verwendet werden, um die Authentifizierung gegenüber einer anderen domain, ich fange an zu vermuten, dass mein problem liegt woanders. Danke für die Antwort.
InformationsquelleAutor Martin
Wenn Ihr computer (der beim Identitätswechsel) ist ein Mitglied einer Domäne ist, die nicht das Vertrauen der Domäne des Benutzerkontos, das Sie versuchen, zu imitieren, dann ist die Imitation nicht durchgeführt werden. Jeder, der etwas anderes sagt, würde ich gerne den Beweis sehen.
InformationsquelleAutor
Check-out diese Frage, die für den Identitätswechsel Fragen, die Sie benötigen.
InformationsquelleAutor Dillie-O