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).
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.
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.