Gestion des sources d'authentification multiples

Il est possible de se retrouver confronté à des problèmes d'utilisateurs homonymes dans le cas où plusieurs annuaires sont utilisés comme source d'authentification ou dans le cadre d'un réplicat d'annuaires distant comme c'est le cas avec le module Seshat.

EoleSSO a été amélioré pour prendre en compte ce problème.

Principe de fonctionnement

si plusieurs annuaires sont configurés, EoleSSO va gérer une branche de recherche par annuaire. Lorsqu'un utilisateur va saisir son identifiant, une recherche va être effectuée dans chaque annuaire afin de vérifier si celui-ci est présent plusieurs fois. Si c'est le cas, une liste va être affichée pour permettre à l'utilisateur de choisir sa provenance.

La liste affichée est basée sur le libellé renseigné pour chaque annuaire (dans gen_config). Il convient donc de bien renseigner ces informations pour que l'utilisateur soit capable de choisir.

Cas particulier : la réplication d'annuaire (Scribe/Seshat)

Gestion de la liste de choix de la source d'authentification

Dans le cadre de la réplication, l'unique annuaire à utiliser est celui du serveur hébergeant EoleSSO.

Des procédures ont été mises en place pour gérer automatiquement des branches de recherche sur chaque annuaire répliqué.

La procédure active_replication nécessite que les 2 serveurs (serveur répliqué/serveur de réplication) soient enregistrés sur Zéphir.

Lorsque Zéphir va envoyer au serveur répliquant les éléments nécessaires à la mise œuvre de la réplication, il va également lui envoyer un fichier décrivant l'établissement dans lequel la machine répliquée est installée (le libellé doit donc être renseigné correctement dans l'application Zéphir).

Sur Seshat, il est possible de demander manuellement une récupération de ce fichier auprès de Zéphir en lançant le script :

/usr/share/sso/update_etabs.py

Les informations sont stockées dans le fichier /etc/ldap/replication/zephir/etabs.ini dont le format est le suivant :

[rne]

libelle_etab=....

type_etab=....

portail_etab=...

Ces informations sont détectées automatiquement par Zéphir lorsque c'est possible.

Le numéro rne sert à faire la liaison avec les branches de recherche disponibles dans EoleSSO (en se basant sur le DN qui est du type "ou=<rne>,ou=ac-<academie>,ou=education,o=gouv,c=fr").

Le type d'établissement permet de créer des sections dans la liste présentée à l'utilisateur afin d'en faciliter la lecture.

Attention

Ces fonctionnalités sont seulement disponibles sur la version 2.3 du serveur Zéphir.

Truc & astuce

Dans le cas où toutes les informations ne sont pas détectées ou en cas de données mal renseignées dans l'application Zéphir, il est possible de modifier ou d'ajouter des informations en créant un(des) fichier(s) au même format.

Ils sont à placer dans /etc/ldap/replication/ et doivent se nommer etabs_xxx.ini (la partie xxx n'est pas déterminante). Les données présentes dans ces fichiers seront prioritaires sur celles remontées par Zéphir.

Par exemple, le fichier suivant permet de corriger l'adresse du portail ENT de l'établissement 000000A1 (si celle-ci n'est pas correcte ou absente). Les autres informations remontées par Zéphir seront conservées (libellé et type d'établissement)

/etc/ldap/replication/etabs_perso.ini

[000000A1]

portail_etab=ent.mon_etab.ac-acd.fr

Dans l'affichage final (voir capture d'écran ci dessus), le libellé de l'établissement sera affiché en majuscules.

Si une description commence par le type d'établissement (ex : COLLEGE VICTOR HUGO), celui-ci sera supprimé pour simplifier l'affichage.

Au démarrage du service eole-sso, ces informations sont lues et rassemblées dans le fichier /usr/share/sso/interface/scripts/etabs.js qui est utilisé pour générer la liste des établissements dans lesquels un login donné est présent.

Si l'application eole-dispatcher est installée sur la machine, un fichier d'informations est également généré pour celle-ci (/var/www/html/dispatcher/utils/etabs.ini). Cette application permet de rediriger automatiquement les utilisateurs vers les portails ENT auxquels ils ont accès (pour plus d'informations, se reporter aux annexes).

Aide au choix de la source d'authentification

Lorsque des homonymes sont détectés, la mire d'authentification va générer la liste des choix disponibles.

Pour aider l'utilisateur dans sa décision, différentes informations sont affichées

Si un fichier /usr/share/sso/interface/login_help.tmpl est présent, un lien apparaîtra sur la mire d'authentification (Quel est mon identifiant? ). Un survol de ce lien avec la souris fait apparaître le contenu du fichier sous forme d'un cadre 'popup' (classes liées à a.aide dans la css). Une exemple est fourni dans le répertoire (login_help_example.tmpl).

Le but de ce cadre est d'indiquer à l'utilisateur l'identifiant qu'il doit utiliser.

un deuxième cadre d'information est affiché lorsque des homonymes ont été trouvés pour l'identifiant saisi par l'utilisateur (#homonyme #homonymetext dans la css).

Le contenu de celui-ci est conditionné par les choix disponibles. Le but est d'aider à choisir parmi les sources proposées.

Le début du texte est générique et indique à l'utilisateur que plusieurs entrées sont disponibles pour l'identifiant renseigné.

Il est ensuite possible de spécifier un fichier d'information pour chaque annuaire LDAP (voir le chapitre Configuration du service), dont le contenu sera ajouté au cadre si l'identifiant entré y est présent (l'information doit donc être au format html).

Un exemple est fourni dans /usr/share/sso/interface/personnel_acad.html, et donne le résultat suivant :