Ich führe Code von Domäne DOMAIN1 aus. Es gibt eine unidirektionale Vertrauensstellung mit DOMAIN2. Ich möchte überprüfen, ob ein Benutzer in DOMAIN2 existiert. Wenn ich versuche, erhalte ich eine Ausnahme mit der Angabe "ungültiger Benutzername und Passwort". Ich nehme an, dass ich einem Benutzer, der in DOMAIN2 vorhanden ist, Anmeldeinformationen bereitstellen muss, um die Suche zu ermöglichen, aber wie kann ich das tun? und wie kann ich es beheben, so dass die Authentifizierung nicht benötigt wird (Zweiweg Vertrauen?)Überprüfen, ob der Benutzer in einer vertrauenswürdigen AD-Domäne vorhanden ist
try
{
//this works find for a user in the current domain
PrincipalContext ctx1 = new PrincipalContext(ContextType.Domain, "DOMAIN1");
UserPrincipal user1 = UserPrincipal.FindByIdentity(ctx1, "user1");
GroupPrincipal group1 = GroupPrincipal.FindByIdentity(ctx1, "group1");
bool ue1 = user1.IsMemberOf(group1);
//this fails with invalid username/password but is a trusted domain
PrincipalContext ctx2 = new PrincipalContext(ContextType.Domain, "DOMAIN2");
UserPrincipal user2 = UserPrincipal.FindByIdentity(ctx2, "user2");
GroupPrincipal group2 = GroupPrincipal.FindByIdentity(ctx2, "group2");
bool ue2 = user2.IsMemberOf(group2);
}
catch (Exception e)
{
string ex;
ex = e.Message;
}
Danke, ich werde es versuchen. Aber gibt es eine Möglichkeit, dies ohne Authentifizierung zu tun, d. H. Überprüfung DOMAIN1 von DOMAIN1 funktioniert gut und ich möchte nicht wirklich Anmeldeinformationen für DOMAIN2 bereitstellen müssen. Gibt es etwas, das auf dem AD eingerichtet werden kann, um dies zu ermöglichen? –
Sie sagten, es gibt eine unidirektionale Vertrauensstellung. Welcher Weg ist es? Ist DOMAIN1 DOMAIN2 oder DOMAIN2 DOMAIN1 vertraut? –
Ich aktualisierte meine Antwort zu erklären. –