Nous avons construit une petite classe pour concaténer les deux et comparer seulement sur le côté. Le format est similaire à la chaîne suivante:
"Domain\\User\nS-1-5-21-...........-1129"
Cela nous permet de noms « amis » dans la base de données et débogueur, mais toutes les liaisons sont en fait de la part de sid de la valeur. Que se passe-t-il lorsque les changements de nom d'utilisateur sont demandés? Les données sont obsolètes et restent ainsi :)
BTW, si vous faites quelque chose comme ceci assurez-vous que vous ne pouvez pas obtenir le 'nom d'affichage' hors de l'objet puisque vous ne voulez pas qu'il soit affiché à un utilisateur comme il peut être périmé. À la place, fournissez une routine LookupUserName() qui effectue la résolution correcte du SID sur un nom de compte.
Enfin, assurez-vous de stocker le SID mais vous le faites. Vous ne voulez pas stocker JDoe et quand Jane quitte et John commence un mois plus tard, il a soudainement accès?
Pour mon projet particulier, j'ai décidé de stocker le nom d'utilisateur. La raison principale est que cette version initiale nécessitera une édition directe dans la base de données. À un certain moment, je vais écrire un écran de gestion de compte, dans le but de migrer à l'aide de SID – eyesnz