Je gère un domaine Windows 2003 server avec son Active Directory. Cet active
directory est synchronisé quotidiennement avec les informations contenues
dans un serveur LDAP OpenLDAP. La synchronisation consiste en la vérification
que tout utilisateur et tout groupe d'utilisateur présent dans OpenLDAP est
présent dans Active Directory. Si ce n'est pas le cas les utilisateurs et/ou
les groupes d'utilisateurs manquants sont ajoutés. Si il y a des utilisateurs
ou des groupes d'utilisateurs présents dans l'Active Directory mais absent
d'OpenLDAP ils sont supprimés.
Tout ça fonctionne très bien (merci PERL).
Il reste un problème : la synchronisation des mots de passe des
utilisateurs. Avec pour hypothèse qu'au moment de la connection c'est le mot
de passe défini dans OpenLDAP qui est valide (et donc pas nécessairement
celui d'Active Directory).
J'aimerai donc que lorsqu'un utilisateur se connecte à "mon" domaine (mon
active directory) le couple (samaccountname, password) transmis par
l'utilisateur lorsqu'il se connecte soit au préalable vérifié auprès du
serveur OpenLDAP et si celui-ci donne son accord alors la connection au
domaine Windows se poursuit (presque) normalement.
L'idée c'est que l'utilisateur s'authentifie auprès du serveur OpenLDAP et
que le processus de connection à un domaine windows soit le moins possible
perturbé par mes petites interventions. Et cela même si je dois au cours du
processus de connection forcer le mot de passe de l'utilisateur dans l'active
directory pour être certain que la connection au domaine réussise lorsque
l'utilisateur a été authentifié auprès du serveur OpenLDAP.
J'ai donc songé à créer ma propre Gina et à modifier la routine
WlxLoggedOutSAS seulement voila :
1) est-ce que c'est la bonne manière de faire (i.e. est-ce qu'il faut
intervenir au niveau de Gina) pour résoudre ce genre de problèmes ?
2) sachant que je sais déjà comment vérifier le couple (samaccountname,
password) auprès du server OpenLDAP (j'ai une routine C qui fonctionne très
bien) comment dois-je procéder pour perturber le moins possible le
fonctionnement "normal" du process de connection d'un utilisateur à un
domaine Windows ? Est-ce que je dois complètement réécrire la routine
WlxLoggedOutSAS ? Dans ce cas comment puis-je conserver l'interaction avec
l'utilisateur (acquisition du triplet (samaccountname, password, domain))
originelle ?
Voila, vous savez tout.
Merci,
Bruno