Ce chantier a pour but d'utiliser le moteur de règles générique afin de paramétrer les données utilisateurs remontées depuis l'annuaire LDAP.
But¶
Remplacer la configuration statique des données utilisateurs présente à l'heure actuelle dans la page de config d'un serveur LDAP.
MoYo : reposons les enjeux réels parce que là le but annoncé n'est que technique et pas fonctionnel. Ma question initiale car j'ai l'impression que l'on s'oriente vers une usine à gaz incontrôlable : que veux t'on faire que l'on ne fait pas actuellement ? Ou plus généralement, quelles sont les fonctionnalités attendues par ce module de récupération de données depuis LDAP (déjà réalisées ou pas peu importe).
Walid : finalement est ce que ça a vraiment un intérêt de passer par le moteur pour cela ? je me pose la question en fait...
MoYo : bonne question.
Propositions¶
Créer un nouveau type de règle pour la remontée des attributs utilisateurs :- type RULE_LDAP_ATTRIBUTES
- critères :
- serveur LDAP
- MoYo : il ne manquerait pas les valeurs de champ LDAP ? sans ca le reste de la page perd pas mal de sens.
- actions :
- assigner : valeur d'un champs LDAP à un champs GLPI
Il est possible de réutiliser les nom d'attributs LDAP définis dans les règles d'affectation des utilisateurs à des entités. Ceux-ci sont stockés dans la table glpi_rules_ldap_parameters.
Fonctionnement du moteur¶
- est ce que le moteur s'arrête à la première règle vérifier (je suis tenté de dire non, mais ça peut complexifier le traitement)
- si le moteur ne s'arrête pas à la première règle, est ce qu'il passe le résultat de la règle à la suivante ? (peut-être intéressant pour chainer les traitements, comme les business rules)
Requête LDAP¶
Il y a 2 possibilités pour effectuer la requête LDAP :- si on a seulement comme critères pour une règle des données provenant de GLPI (serveur LDAP) on peut passer le moteur de règle et faire une requête LDAP dans le executeActions
- si on a plusieurs règles, à quel moment fait-on une requête LDAP pour récupérer les infos ? lors du prepareDateForInput (dans ce cas là cela veut dire qu'il faut lister tous les champs dont on a besoin) ?
Critères et actions¶
Walid :
- est ce qu'on propose tous les critères LDAP comme critères possibles pour une règle ? ça permet des choses du style "si le user est dans l'OU XX alors remonte telle info". Cela permet aussi de pouvoir utiliser les regex pour modifier à la volée des infos qui remontent de l'annuaire.
- est ce qu'il ne serait pas judiscieux de faire l'affectation aux groupes GLPI avant de passer le moteur ? ça permettrait de dire "si le user appartient au groupe XX alors remonte telles infos seulement"
Création d'un annuaire¶
Walid :
- comment gérer les modèles de pré-configuration dans le cas de la création d'un annuaire ?
- la création d'un annuaire entraine automatiquement la création d'une règle de récupération des données ?
- pour la migration depuis une base en 0.71, on crée une règle par annuaire avec comme seul critère le nom de celui-ci ?