Wisemapping Configuration LDAP
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.
Votre avis
Nobody voted on this yet
|
|
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 à |
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. |
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 @
.
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 | |
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
Authentification
Une fois l'annuaire LDAP configuré et activé, la page de connexion ne présente plus le lien de création de compte.
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)