Prérequis
L'annuaire LDAP doit être en ligne et joignable !
Le fichier de propriétés
################################################################################ ## Configuration LDAP ## ################################################################################ environment.build.ldap.url=ldaps://ldap1.univ.fr:636 ldaps://ldap2.univ.fr:636 environment.build.ldap.baseDn=dc=univ,dc=fr environment.build.ldap.userName= environment.build.ldap.password= environment.build.ldap.pooled=false environment.build.ldap.uidAttr=uid
Voici à quoi correspondent les différentes propriétés :
Propriété | Définition | Valeurs |
---|---|---|
environment.build.ldap.url | URLs des LDAP (principal et répliquas) | Les différentes URL sont séparées par des espaces. |
environment.build.ldap.baseDn | Nœud principal de la recherche. | L'annuaire étant compatible supAnn, cette propriété devrait être valuée à "dc=univ,dc=fr" |
environment.build.ldap.userName | Nom de l'utilisateur se connectant au LDAP pour faire des requêtes. | Vide si le LDAP ne requiert pas d'authentification |
environment.build.ldap.password | Mot de passe de l'utilisateur se connectant au LDAP pour faire des requêtes | Vide si le LDAP ne requiert pas d'authentification |
environment.build.ldap.pooled | Permet de gérer un pool de connexions. | Peut prendre les valeurs "true" ou "false". La valeur "false" est à paramétrer dans la mesure où un pool de connexions n'est pas nécessaire et où la mise à "true" demande de la configuration supplémentaire. |
environment.build.ldap.uidAttr | Nom de l'attribut utilisé pour identifier l'entrée (utilisateur) de l'annuaire. Lors de la requête pour la recherche d'un utilisateur, c'est ce champ qui sera utilisé pour le discriminer. | Dans le cadre de supAnn, la valeur uid est à paramétrer |
Exemples d'attributs
Voici des exemples d'ensembles d'attributs en lien avec les recommandations supAnn (fichier \uportal-war\src\main\resources\properties\contexts\personDirectoryContext.xml) :
Attribut supAnn | Atribut(s) uPortal |
---|---|
eduPersonPrimaryAffiliation | eduPersonPrimaryAffiliation |
eduPersonAffiliation | eduPersonAffiliation |
cn | cn |
description | description |
displayName | displayName |
facsimileTelephoneNumber | facsimileTelephoneNumber |
givenName | givenName |
postalAddress | postalAddress |
sn | sn |
telephoneNumber | telephoneNumber |
Variable "environment.build.ldap.uidAttr" (telle que configuré dans le fichier filters/esup.properties) | "environment.build.ldap.uidAttr" (même nom configuré) |
username | |
user.login.id | |
supannCodeINE | supannCodeINE |
supannEtuId | supannEtuId |
supannEmpId | supannEmpId |
eduPersonAffiliation | eduPersonAffiliation |
supannaffectation | supannaffectation |
objectclass | objectclass |
supannorganisme | supannorganisme |
Portlets et groupes PAGS
Les attributs utilisés par les portlets et les groupes PAGS du portail sont à déclarer dans cette configuration !
Avec des certificats (LDAPS)
Prérequis
L'annuaire en ligne doit gérer les connexions sécurisées
En plus de la configuration dans le fichier de propriétés, il faut réaliser les actions suivantes :
Récupérer le certificat à l'aide de la commande openssl :
openssl s_client -connect <IP_LDAPS>:<PORT_LDAPS>
Dans cette commande, <IP_LDAPS> et <PORT_LDAPS> sont idéalement les mêmes que ceux du fichier de propriétés.
Le résultat de cette commande affiche une section ressemblant à cela :-----BEGIN CERTIFICATE----- MIIBeDCCASICBgE8bQdqBDANBgkqhkiG9w0BAQUFADBCMQswCQYDVQQGEwJVUzEM MAoGA1UEChMDQVNGMRIwEAYDVQQLEwlEaXJlY3RvcnkxETAPBgNVBAMTCEFwYWNo ZURTMB4XDTEzMDEyNDE0NDc0N1oXDTE0MDEyNDE0NDc0N1owRzELMAkGA1UEBhMC VVMxDDAKBgNVBAoTA0FTRjESMBAGA1UECxMJRGlyZWN0b3J5MRYwFAYDVQQDEw1G Ui1DWkMyMDM2UDBRMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIGEZUq5G4utdzeR 8yEq2fef8pMDUL6YDiYrtG+jsjb3iX6B8tueDGBRyeb5XAEq3Ag3uhhoBNVi/F1/ ba0GWMMCAwEAATANBgkqhkiG9w0BAQUFAANBAEv7sKnVbmbt2Jd1BDzZqSoTUnIJ KgFM3/k+HMcSgH9UP7wPYlXVUx2jino9nFpRoLkxxGw9t5Ul+lElbGlpYEs= -----END CERTIFICATE-----
Il faut copier / coller cette section ("BEGIN / END CERTIFICATE" compris) dans une fichier que l'on nommera ldap.pem, par exemple.Importer ce certificat dans le magasin de la JVM :
keytool -import -trustcacerts -alias ldap -file [full_path_to_the.pem] -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
Si elle s'affiche, répondre "oui" à la question de confiance.
Et pour les répliquas...
La même manipulation est à effectuer pour chacun des répliquas de l'annuaire LDAP.