Catégories
PHP

Configurer l’authentification LDAP de Jorani

Configuration de LDAP dans LMS afin que la connexion des utilisateurs passe par l’annuaire d’entreprise et non par l’authentification intégrée.

Dans cet article, nous verrons comment configurer jorani (un logiciel gratuit de gestion des congés et des heures supplémentaires) de manière à ce que les utilisateurs soient authentifiés par LDAP et non par Jorani. En d’autres termes, lors de la connexion à Jorani, l’application vérifiera le mot de passe stocké dans l’annuaire d’entreprise et pas celui stocké dans la base de données de Jorani. Veuillez noter que Jorani ne supporte pas la connexion par SSO.

Connexion à Jorani par annuaire LDAP

Cet article concerne Jorani (un LMS, pour Leave Management System), un logiciel libre de gestion des congés et des heures supplémentaires. Que nous avions présenté dans un article précédent.

Principe technique

Authentification par base de données

Dans le mode de connexion normal, Jorani vérifie que l’identifiant et le mot de passe saisis dans le formulaire de connexion existent dans la base de données de Jorani (LMS).

Le mode d'authentification normale de LMS (sans LDAP)
Le mode d’authentification normale du LMS Jorani  (sans LDAP)

L’occasion de rappeler que même si Jorani est hébergé sur un environnement non sécurisé (accès en HTTP et pas en HTTPS), le logiciel contient des mécanismes de sécurité empêchant des tiers de voler votre mot de passe :

  • Le mot de passe est crypté à l’aide de l’algorithme BCRYPT avant d’être stocké dans la base de données. Ainsi, si quelqu’un a accès à la base de données, il ne sera pas capable d’en extraire les mots de passe.
  • Lors de la phase de connexion, le mot de passe n’est pas envoyé en clair, mais l’échange du mot de passe entre le navigateur et le serveur est crypté par le protocole RSA.

Authentification par annuaire LDAP

Dans le mode de connexion LDAP, Jorani vérifie l’existence de l’identifiant dans sa base interne et s’appuie sur l’annuaire d’entreprise afin de vérifier le mot de passe saisi.

Authentification à LMS en se basant sur un annuaire LDAP
Authentification au LMS Jorani en se basant sur un annuaire LDAP

Afin de vérifier que le mot de passe est correct, Jorani tente de faire ce que l’on appelle un bind ou liaison à l’annuaire LDAP en utilisant l’identifiant de connexion ainsi que le mot de passe saisi.

Configurer Jorani

Prérequis

Information concernant l’annuaire de votre entreprise

Avant de configurer Jorani, il faudra récupérer les informations de connexion auprès de la personne administrant l’annuaire de votre entreprise ou d’un collègue de travail ayant déjà configuré un logiciel utilisant LDAP pour l’authentification des utilisateurs.

Activer le module LDAP de PHP

Avant d’utiliser LDAP, vous devez activer le module PHP de gestion des connexions LDAP.

Si Jorani est hébergé sur Internet, il est possible que votre hébergeur n’offre pas cette possibilité. Si Jorani est hébergé sur Internet et que votre annuaire d’entreprise est hébergé sur l’intranet de votre entreprise, il faut vous rapprocher de l’équipe gérant le réseau afin de vous assurer de la faisabilité technique de cette configuration.

Correspondance entre LDAP et Jorani

Pour que l’authentification fonctionne, il faut que l’identifiant stocké dans la base des utilisateurs de Jorani ait le même format que celui stocké dans l’annuaire de votre entreprise.

Par exemple « bbalet » est mon identifiant utilisateur dans Jorani, il faut aussi que cela soit mon identifiant dans LDAP. Si « bbalet » est mon login pour me connecter à Jorani, mais que mon identifiant dans l’annuaire d’entreprise est « benjamin.balet », cela ne fonctionnera pas.

Configuration de LDAP dans LMS

Dans l’emplacement d’installation, ouvrir le fichier application/config/config.php et chercher le groupe de lignes concernant la configuration de connexion par LDAP :

$config['ldap_enabled'] = FALSE;
$config['ldap_host'] = '127.0.0.1';
$config['ldap_port'] = 389;
$config['ldap_basedn'] = 'uid=%s,ou=people,dc=company,dc=com';

Afin d’activer l’authentification via LDAP dans Jorani, il faut modifier ces variables ainsi :

  • ldap_enabled à TRUE
  • ldap_host avec l’adresse de votre serveur LDAP.
  • ldap_port avec le port de votre serveur LDAP.
  • ldap_basedn en fonction de la manière dont les utilisateurs sont identifiés par l’annuaire. Il est important de ne pas supprimer les deux signes %s qui symbolisent l’emplacement du code utilisateur (ou identifiant de connexion) qui sera vérifié dans LDAP. Le contenu de cette chaîne de caractères est spécifique à votre entreprise et vous pouvez l’obtenir en contactant l’administrateur de l’annuaire LDAP de votre  entreprise.

Il existe également un mode de connexion LDAP avancé pour les cas où vos utilisateurs sont dans des endroits différents de l’annuaire.

Obtenir de l’aide

Vous pouvez demander de l’aide sur le forum des utilisateurs de Jorani, mais il sera difficile de vous assister sans avoir accès à votre annuaire LDAP. C’est pour cela qu’il faudra en premier lieu vous adresser aux administrateurs de l’annuaire de votre  entreprise et éventuellement à l’équipe réseau en cas de problèmes techniques.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.