Wisemapping Configuration LDAP

De EjnTricks

Cet article présente la configuration d'un annuaire LDAP dans Wisemapping, afin de gérer les droits d'accès à l'application à partir de comptes déclarés sous un annuaire, et non plus à partir de la base de données. Cependant, la configuration est minimale et ne permet pas de mettre en place un filtre fin, comme l'appartenance à un groupe.

Par défaut, n'importe qui peut créer un compte sur l'instance mise en place. Sur la page de connexion, le lien Rejoignez nous est disponible.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Study icon.png Etude

Pour mémoire, l'installation initiale a été réalisée dans le répertoire /var/opt/wisemapping/4.0.3. La configuration du mode d'authentification s'effectue dans le fichier WEB-INF/app.properties, qui permet de choisir entre une base interne, comme pour le compte administrateur, ou un annuaire LDAP.

Cette configuration s'effectue dans la section Authentication Configuration Section.

#######################################################################################
# Authentication Configuration Section
#######################################################################################

# Two type of security are supported:
#   - db: User are stored in the database. Registration is required in advance.
#   - ldap: Authentication takes place using a LDAP. In this case, security.ldap.* must be configured.
security.type=db

# LDAP Configuration properties.
security.ldap.server=ldap://localhost:389

# If anonymous password is required, change the wisemapping-security-ldap.xml removing the
security.ldap.server.user=cn=pveiga,dc=wisemapping,dc=com
security.ldap.server.password=password

security.ldap.basedn=dc=wisemapping,dc=com


# This will be concatenated as part of the DN. In this case, I will be "ou=people".
# In case this need to be changed, modify the wisemapping-security-ldap.xml.
security.ldap.subDn=ou=people

# Attribute used as authentication login (Eg: in this case, the user email will be used)
security.ldap.auth.attribute=mail

security.ldap.lastName.attribute=sn
security.ldap.firstName.attribute=givenName

# Enable OpenId Authentication.
security.openid.enabled=false


Dans le cadre de la configuration sur un annuaire OpenLDAP, les paramètres importants sont les suivants.

Paramètre Description
security.type Permet de définir le mode d'authentification.

Le passer à ldap pour activer l'annuaire.

security.ldap.server URL d'accès à l'annuaire.
security.ldap.server.user Compte d'accès à l'annuaire.
security.ldap.server.password Mot de passe du compte d'accès à l'annuaire.
security.ldap.basedn Organisation racine.
security.ldap.subDn Sous organisation où sont placées les utilisateurs.
security.ldap.auth.attribute Attribut contenant la valeur de l'identifiant des utilisateurs.
security.ldap.lastName.attribute Attribut contenant le nom des utilisateurs.
security.ldap.firstName.attribute Attribut contenant le prénom des utilisateurs.

Warning-icon.png L'attribut défini pour représenter l'identifiant doit impérativement être une adresse mail. En effet, lors de l'authentification, une validation est réalisée sur la saisie pour détecter la présence du caractère @.


Icon-Configuration-Settings.png Configuration LDAP

Les valeurs saisies, dans le cadre de cet article, sont en relation avec l'installation faite de OpenLDAP sur un serveur Ubuntu.

Paramètre Valeur
security.type ldap
security.ldap.server ldap://localhost:389
security.ldap.server.user cn=admin,dc=ejnserver,dc=fr
security.ldap.server.password ADMIN_PASSWORD
security.ldap.basedn dc=ejnserver,dc=fr
security.ldap.subDn ou=people
security.ldap.auth.attribute mail
security.ldap.lastName.attribute sn
security.ldap.firstName.attribute givenName

La configuration devient la suivante.

#######################################################################################
# Authentication Configuration Section
#######################################################################################

# Two type of security are supported:
#   - db: User are stored in the database. Registration is required in advance.
#   - ldap: Authentication takes place using a LDAP. In this case, security.ldap.* must be configured.
#security.type=db
security.type=ldap

# LDAP Configuration properties.
security.ldap.server=ldap://localhost:389

# If anonymous password is required, change the wisemapping-security-ldap.xml removing the
#security.ldap.server.user=cn=pveiga,dc=wisemapping,dc=com
security.ldap.server.user=cn=admin,dc=ejnserver,dc=fr
#security.ldap.server.password=password
security.ldap.server.password=ADMIN_PASSWORD

#security.ldap.basedn=dc=wisemapping,dc=com
security.ldap.basedn=dc=ejnserver,dc=fr


# This will be concatenated as part of the DN. In this case, I will be "ou=people".
# In case this need to be changed, modify the wisemapping-security-ldap.xml.
security.ldap.subDn=ou=people

# Attribute used as authentication login (Eg: in this case, the user email will be used)
security.ldap.auth.attribute=mail

security.ldap.lastName.attribute=sn
security.ldap.firstName.attribute=givenName

# Enable OpenId Authentication.
security.openid.enabled=false


Browser Icon.png Authentification

Une fois l'annuaire LDAP configuré et activé, la page de connexion ne présente plus le lien de création de compte.


Icon-database-search.png Base de données

La configuration de l'annuaire n'empèche pas la création des références utilisateurs dans la base de données. Des informations sont synchronisées depuis l'annuaire est enregsitrées dans la table USER. ar exemple, suite à une première authentification, le contenu de la table est le suivant.

mysql> select * from USER;
+----------------+---------------------+-------------------+-----------+----------+----------------------------------------------+----------------------+-----------------+------------------+--------+
| colaborator_id | authentication_type | authenticator_uri | firstname | lastname | password                                     | activation_code      | activation_date | allow_send_email | locale |
+----------------+---------------------+-------------------+-----------+----------+----------------------------------------------+----------------------+-----------------+------------------+--------+
|              2 | D                   | NULL              | Admin     | User     | XXXXXXXXXXXXXXXXXXX                          |                 1237 | 2016-05-31      | 1                | NULL   |
|              3 | L                   | NULL              | Etienne   | Jouvin   | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       | -6245409452955365631 | 2016-05-31      | 0                | NULL   |
+----------------+---------------------+-------------------+-----------+----------+----------------------------------------------+----------------------+-----------------+------------------+--------+
2 rows in set (0,01 sec)