Aller au contenu

    Planisware : utiliser le champ LOGIN pour l'authentification à la place de l'ID

    Introduction

    Par défaut, dans une application sous Planisware, l’authentification de la connexion (user/mdp) se fait avec pour « user » le champ ID (champ calculé basé sur le champ NOM). Ceci implique que le NOM de l’utilisateur renseigné dans Planisware doit être unique et compatible avec le système d’authentification choisi (OPX2, LDAP, LDAPS, SSO…). Cela se traduit en général par l’utilisation de l’identifiant du collaborateur dans l’entreprise. Lorsque cet identifiant ou matricule ne permet pas d’identifier facilement l’utilisateur on complète souvent le champ descriptif (DESC) par le nom complet de la personne. Cependant la manipulation des utilisateurs dans l’application s’appuie souvent par défaut sur le champ NOM ce qui rend ces manipulations compliquées.

    Exemple : prenons l’exemple d’un collaborateur nommé Pierre DUPONT.

    → Si le système d’authentification de l’entreprise utilise un ID simple à reconnaître du type : « pierre.dupont » ou « pdupont » ou « dupontp » etc… => il est facile de savoir que l’utilisateur dont il s’agit est Pierre DUPONT.
    → Si le système d’authentification de l’entreprise utilise un ID complexe à reconnaître : AZ237 => il est compliqué voir impossible de savoir rapidement à quel utilisateur correspond cet ID.

    Dans le cas où l’ID utilisé par le système d’authentification de l’entreprise (LDAP, LDAPS, SSO…) est complexe, il est possible de modifier le comportement standard et de préciser à Planisware que le login à prendre en compte pour l’authentification ne sera pas le NOM de l’utilisateur mais le champ LOGIN de l’utilisateur.

    Mise en place de l’authentification par le LOGIN

    Pour mettre en place une authentification par LOGIN il faut réaliser les étapes suivantes :

    1. Renseigner les champs « LOGIN » de tous les utilisateurs de la base
    2. Modifier les fichiers *.ini (en général le fichier database.ini)

    1 – Renseigner les champs « LOGIN » de tous les utilisateurs de la base

    Pour commencer il est nécessaire de s’assurer que le champ LOGIN de tous les utilisateurs de la base Planisware est bien renseigné avec la valeur du login compatible avec le système d’authentification retenu. Dans notre exemple le champ LOGIN de l’utilisateur Pierre DUPONT contiendra la valeur « AZ237 ».

    Pour des raisons de cohérence des données il est également important que tous les utilisateurs aient bien leur champ LOGIN renseigné. Dans le cas contraire on risque de ne pas pouvoir démarrer l’Intranet Server à cause d’erreurs du type « Unknown user ».

    2 – Modifier les fichiers *.ini

    Il faut ensuite mettre à jour le fichier *.ini contenant la définition de la base de données (en général le fichier database.ini) pour ajouter l’instruction suivante :

    {{< highlight java >}} (setq gio::login-attribute :login){{< /highlight >}}

    Après redémarrage des services l’authentification ne prendra plus pour « user » lD Planisware de l’utilisateur mais bien son LOGIN.