LDAP: pourquoi l'utilisation suivante de DirectoryEntry ne renvoie-t-elle aucun membre pour un grand groupe de sécurité global?

StackOverflow https://stackoverflow.com/questions/316100

Question

Le code suivant fonctionne pour plus de 90% des groupes de sécurité globaux, mais pour un très grand groupe de sécurité global, il renvoie un énumérateur, mais aucun objet membre du groupe, même si le groupe en compte plusieurs milliers.

DirectoryEntry group = groupResult.GetDirectoryEntry();
filter = "member;range=0-20";
group.RefreshCache(new[] { filter });
PropertyValueCollection groupMembers = group.Properties["member"];
IEnumerator iEnum = groupMembers.GetEnumerator();
//On one large global security group, this returns a valid iEnum, 
//but no member entries.  The group has thousands.
//This code works for every other group I've encountered.
Était-ce utile?

La solution

Le problème ne vient peut-être pas de votre code, mais de la sécurité d'accès dans votre annuaire. Vous n'êtes peut-être pas autorisé à énumérer les membres de ce groupe.

Autres conseils

Est-il possible que le serveur LDAP ait des limites sur la taille d'un ensemble de retours ou le temps qu'il peut passer en une seule réponse?

Comme toujours, testez avec un navigateur LDAP tiers et voyez si vous pouvez l'obtenir de cette façon. Cela teste le problème d’authentification et de droits, ainsi que le fait que le serveur limite la taille ou la durée de la réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top