Vous êtes ici : Développer dans K-Sup → Connecteurs SI → Connecteur LDAP
Connecteur LDAP : options de récupération des attributs
Documentation des options sur la récupération des attributs LDAP avant import dans votre application
Cette page décrit les possibilités concernant la récupération des attributs LDAP pour importer les utilisateurs et fiches dans votre application K-Sup : gestion des attributs multivalués, table de correspondance, concaténation de valeurs, etc...
- Copier le lien Pour les comptes du LDAP pour lesquels l'un des attributs synchronisés n'est pas renseigné, il est possible de stipuler une valeur par défaut. Pour cela, dupliquez le paramètre et ajoutez le suffixe ".defaut", pour y renseigner la valeur par défaut qui devra être attribuée :
Propriété Valeurs possibles Exemple ldap.[type].[attribut].defaut Dépend de l'attribut synchronisé. ldap.annuaire.liste_rouge=supannListeRouge
ldap.annuaire.liste_rouge.defaut=1Propriété Valeurs possibles Exemple ldap.[type].[attribut].defaut Dépend de l'attribut synchronisé. ldap.annuaire.code_rubrique=#NO_VALUE#
ldap.annuaire.code_rubrique.defaut=12345678mise à jour le 18 décembre 2017 - Lien vers la fiche - Copier le lien Si l'attribut LDAP est multivalué ou si l'on affecte plusieurs attributs LDAP au même champ dans votre application, il est possible de spécifier au connecteur de ne prendre que la première valeur.
Ainsi, pour prendre la première des valeurs il suffit de spécifier le paramétrage suivant :Propriété Valeurs possibles Exemple ldap.[type].[attribut].monovalue 1 (ne prendre que la première valeur) ldap.annuaire.code_structure=attriLdap;attriLdap2
ldap.annuaire.code_structure.monovalue=1
Dans notre exemple, si l'attribut LDAP « attriLdap » a une valeur alors celle-ci sera prise et la valeur de « attriLdap2 » sera ignorée.
En revanche, si « attriLdap » est vide, alors c'est la valeur de « attriLdap2 » qui sera prise en compte.mise à jour le 18 décembre 2017 - Lien vers la fiche - Copier le lien Dans le cas d'un attribut LDAP multivalué ou de plusieurs attributs LDAP définis pour un même champ synchronisé, il est possible de concaténer les valeurs et de spécifier un séparateur qui sera inséré entre chaque valeur.
Ainsi, par exemple, pour concaténer les différents numéros de téléphone d'une personne dans un seul champ de votre application K-Portal ou K-Sup, il suffit de spécifier le paramétrage suivant :Propriété Valeurs possibles Exemple ldap.[type].[attribut]
ldap.[type].[attribut].separateurAu niveau de la propriété de l'attribut, renseigner la liste des attributs LDAP à concaténer, séparés par une virgule.
Le séparateur est une chaîne de caractère libreldap.annuaire.telephone_1=internationaliSDNNumber,homePhone,internationaliSDNNumber
ldap.annuaire.telephone_1.separateur= -
Dans notre exemple, les différents numéros de téléphone seront concaténés dans le champ "Numéro de téléphone 1", et sont séparés d'un tiret.mise à jour le 19 décembre 2017 - Lien vers la fiche - Copier le lien La norme supann, norme LDAP en vigueur dans l'enseignement supérieur, propose un type d'attibut LDAP, dit attribut "composite".
Ces attributs permettent de stocker plusieurs valeurs pour des sous-attributs; Ainsi chaque attribut composite multivalué peut regrouper de façon ordonnée, les attributs (étiquetés).
Ces attributs prennent la forme suivante :
où le premier paramètre est le nom de la sous-variable, et le second est la valeur.[role=valueRole][type=valueType][code=valueCode][role=valueRole2][type=valueType2][code=valueCode2]
Pour déclarer ces attributs, utilisez la propriété ".compositeitems" :Propriété Valeurs possibles Exemple ldapAlias.[type].[attribut].compositeitems liste des attributs composites séparés par un point-virgule ldapAlias.annuaire.fonction=attributLdap
ldapAlias.annuaire.fonction.compositeitems=role;code
Il est également possible d'effectuer des traitements de chaine de caractères sur ces attributs composites :Propriété Exemple ldapAlias.[type].[attribut].[attributcomposite].[option] Pour gérer le cas suivant : - Entrée : [role={SUPANN}Directrice][type={SUPANN}A][code=85858$Direction des Systèmes d'Information$SSSSS]
- Sortie : Directrice - Direction des Systèmes d'Information
ldapLocal.annuaire.fonction.role.chaine.start=}
ldapLocal.annuaire.fonction.role.chaine.action=+
ldapLocal.annuaire.fonction.code.chaine.action=+
ldapLocal.annuaire.fonction.code.chaine.start=$
ldapLocal.annuaire.fonction.code.chaine.start.occurrence=1
ldapLocal.annuaire.fonction.code.chaine.end=$
ldapLocal.annuaire.fonction.code.chaine.end.occurrence=2mise à jour le 19 décembre 2017 - Lien vers la fiche - Copier le lien
D'autres options permettent de manipuler la valeur de chaque attribut récupéré avant de le synchroniser vers votre application K-Portal ou K-Sup.
Dans les options décrites ci-dessous, remplacez [attribut] par le nom de l'attribut concerné, par exemple : annuaire.liste_rouge. Pensez également à remplacer systématiquement le préfixe "ldap" par l'alias concerné ("ldapEtu" par exemple), si vous avez défini plusieurs synchronisations.Propriété Valeurs possibles Exemple ldap.[attribut].prefixe Variable optionnelle permettant de concaténer un préfixe avec la valeur de l'attribut.
Valeur possible : une chaîne de caractèreldap.telephone_1.prefixe=(+33) ldap.[attribut].suffixe Variable optionnelle permettant de concaténer un suffixe avec la valeur de l'attribut.
Valeur possible : une chaîne de caractèreldap.telephone_1.suffixe= (en heures ouvrées) ldap.[attribut].conversion.prioritaire Variable indiquant si la conversion avec la table de correspondance est effectuée avant les manipulations de chaine de texte (positionner la valeur à 1), ou après (positionner la valeur à 0). Par défaut, la conversion s'effectue avant les manipulations de chaîne. ldap.code_structure.conversion.prioritaire=1
Recherche par rapport à des indexes fixes :Propriété Valeurs possibles Valeur par défaut Exemple ldap.[attribut].index.start Index de départ de recherche.
Valeur attendue : un nombre0 # xxxxxvaleur
ldap.fonction.index.start=5ldap.[attribut].index.end Index de fin de recherche.
Valeur attendue : un nombre# valeurxxxxx
ldap.fonction.index.end=6ldap.[attribut].index.start.fromend Nombre de caractères avant la fin de la chaîne
Valeur attendue : un nombre# xxxxxxxxval
ldap.fonction.index.start.fromend=3
Recherche par rapport à une chaîne donnée :Propriété Valeurs possibles Valeur par défaut Exemple ldap.[attribut].chaine.action Action par rapport à la chaîne recherchée
Valeur possibles: - pour rechercher avant, + pour rechercher après+ # valeur;xxxxxxxxxxxx
ldap.annuaire.prenom.chaine.action=-
ldap.annuaire.prenom.chaine.start=;
# xxxxxxxxx;valeur
ldap.annuaire.prenom.chaine.action=+
ldap.annuaire.prenom.chaine.start=;ldap.[attribut].chaine.start Chaîne de texte à partir de laquelle la recherche est effectuée.
Valeur possible : une chaîne de caractère qui détermine le point de départ de la rechercheldap.[attribut].chaine.start.occurence Numéro de l'occurrence de la chaîne recherchée
Valeur possible : un nombre1 # xxxxx;xxx;xxx;valeur
ldap.annuaire.prenom.chaine.action=+
ldap.annuaire.prenom.chaine.start=;
ldap.annuaire.prenom.chaine.start.occurrence=3
# xxxxx;xxx;xxx;valeur;xxxxx;xxxx;
ldap.annuaire.prenom.chaine.action=+
ldap.annuaire.prenom.chaine.start=;
ldap.annuaire.prenom.chaine.start.occurrence=3
ldap.annuaire.prenom.chaine.end.length=4
# xxxxx;xxx;xxx;valeur;xxxxx;xxxx;
ldap.annuaire.prenom.chaine.action=+
ldap.annuaire.prenom.chaine.start=;
ldap.annuaire.prenom.chaine.start.occurrence=3
ldap.annuaire.prenom.chaine.end=;
ldap.annuaire.prenom.chaine.end.occurrence=4ldap.[attribut].chaine.end Chaîne de texte jusqu'à laquelle la recherche doit s'effectuer ldap.[attribut].chaine.end.occurence Numéro de l'occurrence de la chaîne de fin recherchée
Valeur possible : un nombreldap.[attribut].chaine.end.length Nombre de caractère à partir de la chaine recherchée mise à jour le 19 décembre 2017 - Lien vers la fiche - Copier le lien Il est fréquent lors d'échanges entre deux systèmes, que les nomenclatures soient différentes. Dans notre cas, il n'est pas rare que les valeurs contenues dans l'annuaire LDAP ne correspondent pas tout à fait aux valeurs attendues par votre application K-Portal ou K-Sup. Les tables de correspondance permettent donc d'effectuer certaines transformations entre les valeurs récupérées de l'annuaire et les valeurs importées dans votre application.
Ainsi, pour chaque attribut importé de l'annuaire LDAP vers votre application, il est possible d'appliquer une table particulière (fichier .dat). Pour cela, voici les étapes à suivre :- Créez un fichier dont le nom doit être formaté de la façon suivante : « ldap_nom_du_champ.dat », où nom_du_champ correspond au suffixe de l'attribut dans le fichier de configuration ldap.properties. Par exemple, pour l'attribut ldap.annuaire.type_population, la table de correspondance serait nommée ldap_type_population.dat.
- Dans le fichier, renseignez la liste des valeurs à convertir, en respectant bien les règles de formatage détaillées dans l'article sur les fichiers .dat.
! Attention Les données renvoyées par le LDAP doivent être placées dans la colonne de droite du fichier .dat (clefs), et les valeurs correspondantes dans K-Sup doivent être placées dans la colonne de gauche (valeurs). - Placez le fichier dans le dossier spécifié dans le paramètre table.repertoire du fichier env.properties (généralement /storage/conf/tables).
Propriété Valeurs possibles Exemple ldap.[type].[attribut].conversion.conservationvaleur 1 (option activée) ldap.annuaire.code_structure.conversion.conservationvaleur=1 mise à jour le 7 février 2018 - Lien vers la fiche
Mis à jour le 19 septembre 2018
Connectez-vous (avec vos identifiants Communauté) pour suggérer une correction ou un complément :