Autres versions

Vous êtes ici : Développer dans K-SupConnecteurs SIConnecteur 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=1
    Il est également possible d'utiliser ce paramètre pour attribuer une valeur par défaut pour tous les comptes synchronisés. Pour cela, renseignez un faux attribut dans le paramètre du champ, et ensuite, renseignez la valeur souhaitée dans le paramètre "defaut". Par exemple :
    Proprié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=12345678
     
    mise à 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].separateur
    Au 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 libre
    ldap.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 :
    [role=valueRole][type=valueType][code=valueCode][role=valueRole2][type=valueType2][code=valueCode2]
    où le premier paramètre est le nom de la sous-variable, et le second est la valeur.
    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
    Le paramétrage suivant est mis en place :
    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=2
    mise à 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ère
    ldap.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ère
    ldap.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 nombre
    0 # xxxxxvaleur
    ldap.fonction.index.start=5
    ldap.[attribut].index.end Index de fin de recherche.
    Valeur attendue : un nombre
    # valeurxxxxx
    ldap.fonction.index.end=6
    ldap.[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 recherche
    ldap.[attribut].chaine.start.occurence Numéro de l'occurrence de la chaîne recherchée
    Valeur possible : un nombre
    1 # 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=4
    ldap.[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 nombre
    ldap.[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 :
    1. 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.
    2. 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).
    3. Placez le fichier dans le dossier spécifié dans le paramètre table.repertoire du fichier env.properties (généralement /storage/conf/tables).
    ! Attention Lorsqu'une valeur fournie par le LDAP ne correspond à aucune clé dans le fichier .dat, la valeur renvoyée sera vide et le champ ne sera pas rempli pour la personne concernée. Si vous souhaitez que la valeur du LDAP soit restituée telle quelle, ajoutez le paramètre suivant dans votre fichier de configuration :
    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