L'enregistrement de la notification de changement avec Active Directory à l'aide de C#
Ce lien http://msdn.microsoft.com/en-us/library/aa772153(SV.85).aspx dit:
Vous pouvez enregistrer jusqu'à cinq demandes de notification sur une seule connexion LDAP. Vous devez avoir un thread dédié pour attendre les notifications et les processus rapidement. Lorsque vous appelez la ldap_search_ext fonction pour enregistrer une demande de notification, la fonction retourne un identifiant de message qui l'identifie à la demande. Ensuite, vous utilisez la ldap_result fonction d'attendre pour les notifications de changement. Lorsqu'un changement se produit, le serveur vous envoie un message LDAP qui contient l'identificateur de message pour la demande de notification qui a généré la notification. Cela provoque la ldap_result fonction de retour avec les résultats de la recherche qui permettent d'identifier l'objet qui a changé.
Je ne trouve pas un comportement similaire à la recherche par le biais de la .NET de la documentation. Si quelqu'un sait comment faire cela en C#, je serais très reconnaissant de savoir. Je suis à la recherche pour voir si des attributs de changement sur tous les utilisateurs dans le système afin que je puisse effectuer des actions personnalisées en fonction de ce qui a changé.
J'ai regardé à travers stackoverflow et d'autres sources à pas de chance.
Grâce.
OriginalL'auteur Sam | 2010-01-04
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr que ça fasse ce que vous avez besoin, mais jetez un oeil à http://dunnry.com/blog/ImplementingChangeNotificationsInNET.aspx
Edit: Ajout de texte et de code de l'article:
Il y a trois façons de trouver des choses qui ont changé dans Active Directory (ou ADAM). elles ont été documentées pendant un certain temps sur MSDN à l'adresse dans l'intitulé à juste titre "Vue d'ensemble de la Modification des Techniques de Suivi". En résumé:
Pour la plupart, j'ai trouvé que la Synchronisation d'annuaire a adapter le projet de loi pour moi dans pratiquement toutes les situations. je n'ai jamais pris la peine d'essayer une des autres techniques. Toutefois, un lecteur a demandé si il y avait moyen de faire les notifications de changement .NET. j'ai pensé qu'il était possible à l'aide de SDS.P, mais n'avait jamais essayé. se trouve, il est possible et vraiment pas trop difficile à faire.
Ma première pensée sur l'écriture, c'était d'utiliser la exemple de code trouvé sur le site web MSDN (et référencés dans l'option #3) et de convertir simplement de ce Système.DirectoryServices.Protocoles. Ceci s'est avéré être une impasse. La façon dont vous le faites en SDS.P et la manière de l'exemple de code œuvres sont suffisamment différents pour qu'il n'est d'aucune aide. Voici la solution je suis venu avec:
Il est relativement simple de classe que vous pouvez utiliser pour des recherches dans le registre. L'astuce est d'utiliser le GetPartialResults méthode dans la méthode de rappel pour obtenir seulement le changement qui vient de se produire. J'ai également inclus le très simplifiée EventArgs classe je suis à l'aide de transmettre les résultats. Remarque, je ne suis pas faire quelque chose au sujet de thread ici et je n'ai pas de gestion d'erreur (c'est juste un exemple). Vous pouvez consommer cette classe comme ceci:
J'ai donc ce travail, RXing des notifications de changement et de tous. Mais je serai de retour comme 30 attributs, qui sont toute différente de celle que leur configuration actuelle. Me manque la partie où l'on ne peut recevoir les éléments modifiés?
vous devez poser une nouvelle question.
Cette solution fonctionne si j'ai besoin d'intercepter les messages d'authentification?
huit ans après que j'ai posté? Je n'ai aucune idée. Pourquoi ne pas lui donner un essai,
OriginalL'auteur stuartd