De la “Le serveur n'a pas pu être contacté.” lorsque vous essayez d'accéder à active directory
J'essaie ce code:
public bool isTravelAdmin(string srvr, string usr, string password)
{
System.Diagnostics.Debug.WriteLine("I'm in isTravelAdmin!");
PrincipalContext domainctx = new PrincipalContext(ContextType.Domain, srvr);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(domainctx, IdentityType.SamAccountName, usr);
bool isMember = userPrincipal.IsMemberOf(domainctx, IdentityType.Name, "traveladmin");
if (isMember)
{
System.Diagnostics.Debug.WriteLine("This user is INDEED a member of that group");
return true;
}
else
{
System.Diagnostics.Debug.WriteLine("This user is *NOT* member of that group");
return false;
}
}
Qui est censé vérifier si un utilisateur appartient à un certain groupe ("traveladmin"), mais je suis
Système.DirectoryServices.AccountManagement.PrincipalServerDownException
Aucune idée pourquoi et comment le résoudre? par la route:
srvr = "LDAP://192.168.56.101/CN=Users,DC=estagioit,DC=local"
PS: je suis en utilisant le même srvr sur une autre méthode de travail et la connexion.
PSS: Si ce n'est pas la meilleure façon d'aller à ce sujet, je suis ouvert aux suggestions.
Vous devez vous connecter pour publier un commentaire.
Dans votre cas, il suffit de changer votre
srvr
à:Le problème est de savoir comment le "Principal Contexte" est écrit... il devrait être:
dans ce cas.
Si vous regardez la documentation de la
PrincipalContext
constructeurs, il devrait être assez clair:ou
Donc en gros, vous avez besoin de:
ContextType.Domain
)ou laissez la valeur NULL pour "défaut" domaine)
chemin d'accès complet mais sans
LDAP://
préfixe)comme on le voit dans cette réponse.
this
réponse est une vierge lien