Evolution #141

Gestion d'un préfixe facultatif sur les identifiants

Added by Grégory MARIGOT - TEICEE over 7 years ago. Updated over 7 years ago.

Status:Fermé Start date:11/22/2013
Priority:Normal Due date:
Assignee:Grégory MARIGOT - TEICEE % Done:

100%

Category:-
Target version:ProxyEPN 2.3
Version ProxyEPN:2.2

Description

Les identifiants doivent être uniques sur l'ensemble de la plate-forme.

Néanmoins, si par exemple certains comptes sont créés/synchronisés avec des systèmes externes propre aux EPN, il peut être souhaitable que les usagers disposent du même identifiant. Cela peut poser problème avec la contrainte d'unicité globale.

Une solution pour éviter ce risque est d'ajouter un préfixe aux identifiants. Seuls ceux concernés, càd issue d'une synchronisation avec une autre base d'un EPN, seront à préfixer. Si ce préfixe permet de garantir l'unicité dans la base de ProxyEPN, il faut cependant qu'il soit transparent à l'usage : l'usager ne doit pas avoir besoin de le connaitre/saisir.

Le système d'authentification principalement doit être assoupli en ce sens (recherche du compte avec ou sans le préfixe).
Dans les faits, ce sytème revient à permettre plusieurs comptes utilisant un même identifiant (en excluant le préfixe). A l'authentification par exemple, plusieurs comptes avec différents préfixes pourront correspondre : c'est le test sur le mot de passe qui sera alors déterminent pour trouver le compte de l'usager.


Related issues

related to Evolution #144: Mise en place de synchronisations externes (import) Fermé 11/29/2013

Associated revisions

Revision 610
Added by Grégory MARIGOT - TEICEE over 7 years ago

NEW #141: Gestion d'identifiants préfixés (authentification transparente avec ou sans préfixe)

Revision 611
Added by Grégory MARIGOT - TEICEE over 7 years ago

NEW #141: Masquage des éventuels préfixes d'identifiants transparents

Revision 615
Added by Grégory MARIGOT - TEICEE over 7 years ago

FIX #140: affichage xreference sur formulaire, affiches listes de valeurs
FIX #141: bug du masquage du préfixe de l'identifiant quand inexistant

Revision 621
Added by Grégory MARIGOT - TEICEE over 7 years ago

NEW #141: préfixes des logins masqués pour les usagers, affichés pour l'admin, selon option pour anim/coord

Revision 629
Added by Grégory MARIGOT - TEICEE over 7 years ago

FIX #141: export LDAP avec préfixe forcé pour le CN

History

Updated by Grégory MARIGOT - TEICEE over 7 years ago

  • Status changed from In Progress to Résolu
  • Assignee set to Grégory MARIGOT - TEICEE
  • % Done changed from 0 to 100

Principe

La syntaxe pour le préfixe est d'utiliser le caractère '+' comme séparateur (celui-ci n'étant normalement pas permis dans l'identifiant).

Pour l'authentification, la recherche du compte se fait toujours en comparant avec exactitude l'identifiant saisi aux identifiants stockés (pouvant contenir un préfixe). Mais dans un second temps, si aucun compte n'est trouvé, une recherche est effectué sans tenir compte des préfixes (LIKE '%+'.$username).

Le principe des préfixes peut générer des pseudo-doublons : en interne les identifiants sont toujours bien tous différents, mais si on omet la présence des préfixes, la partie restante n'est pas forcément unique. Si cela permet d'importer sans ce soucier des identifiants externes en garantissant l'unicité globale, pouvoir rendre transparent leur présence aux utilisateurs peut produire ces pseudo-doublons qui devront alors être distinguer grâce aux mots de passe.

Exemple :

On peut avoir dans la base 3 utilisateurs différents avec en identifiants : greg, test+greg, crm2950+greg
Ces 3 identifiants sont bien sûr utilisables tels quels pour s'authentifier, mais les utilisateurs peuvent aussi n'utiliser que greg tous les 3 pour se connecter à leur compte respectif (celui qui aura le bon mot de passe).

Masquage :

A l'affichage, un identifiant peut être présenté avec ou sans son éventuel préfixe.
Par défaut, les règles suivantes s'appliquent en fonction du rôle de l'utilisateur :
  • superadmin : les préfixes sont toujours affichés
  • animateur et coordinateur : selon le choix d'une option globale de l'application
  • usager et visiteur : les préfixes sont toujours masqués

De plus dans certains cas, le code de l'application peut forcer l'affichage ou le masquage des préfixes selon la situation (présence dans les exports, masquage sur les badges...)

A l'édition de l'identifiant (maintenant possible, cf #140) si le préfixe est masquée, il sera automatiquement ajouté avant la sauvegarde (uniquement s'il était présent).

L'option pour déterminer si les animateurs et coordinateurs ont accès au préfixe ou non se trouve dans le fichier app.yml :

all:
  options:
    show_login_prefix:   false

Synchronisation

Un rôle important repose sur la présence des préfixes dans les identifiants : la synchronisation des fiches usagers.

Vu que l'existence des préfixes est essentiellement intéressant pour la gestion d'imports de comptes, son usage sera exclusivement réservé à ces cas. Autrement dit, il n'est pas souhaitable que l'on puisse saisir des préfixes manuellement via l'interface web. Ce sont les opérations d'import et de synchronisation qui se chargeront d'en spécifier.

Partant de ce principe, la présence d'un préfixe dans un identifiant est utilisée comme indicateur de compte synchronisé. Un tel compte peut alors avoir des contraintes sur son édition : une liste de champs protégés peut être spécifiée. Un champs protégé est supposé mis à jour depuis une source externe et son édition dans l'interface web est impossible. Par contre l'édition des autres champs de la fiche est toujours permise.

Updated by Grégory MARIGOT - TEICEE over 7 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF