Esup-Signature

Arborescence des pages

Vous regardez une version antérieure (v. /wiki/spaces/SIGN/pages/980058116/Configuration+de+la+s%C3%A9curit%C3%A9) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 4) afficher la version suivante »

esup-signature propose plusieurs mode d'authentification qui peuvent être utilisés simultanément :

  • Authentification CAS
  • Authentification Shibboleth
  • Authentification OTP (one time password)
  • Authentification OAuth (à l'étude)

L'authentification d'un utilisateur donne lieu à l'attribution de rôles via un mécanismes de correspondances groupes ↔ rôles de l'on va détailler ici.

La configuration ce fait dans le fichier de configuration src/main/resources/application.yml voir : Sources et configuration

Mécanisme d'attribution des rôles


Voici le détail des étapes :

  • Lorsqu’un utilisateur se connecte on récupère la liste des groupes dont il fait parti
  • Si une connexion LDAP est configurée il est possible d'attribuer des groupes à l'utilisateur à l'aide de filtres ldap grâce à la propriété mapping-filters-groupsSources et configuration
  • Dans tous les cas il est aussi possible d'attribuer des groupes via des règles utilisant la syntaxe SePL de Spring. Cela est limité à l'utilisation de l'attribut #eppn pour permettre d'attribuer un groupe à une personne en particulier. Il est possible aussi d'attribuer un groupe à tous les utilisateurs en utilisant "true"
  • Ensuite viens l'attribution des rôles :
    • Tout d'abord à l'aide du group-to-role-filter-pattern. Il va détecter les groupes de l'utilisateur qui correspondent au pattern défini et attribuer le rôle correspondant ex : le groupe toto.tata pour le pattern toto.(\w*) donnera le rôle ROLE_TATA

    • Enfin l'attribution des autres rôles ce fait à l'aide la liste de correspondance spécifiée dans mapping-groups-roles où l'on déclare nom_du_groupe = ROLE_NOM_DU_ROLE.

esup-signature possède trois rôles particuliers :

  • ROLE_USER : indispensable pour accéder à l'application
  • ROLE_ADMIN : qui ouvre les droits à la partie administration
  • ROLE_OTP : obtenu lors qu'un utilisateur externe ce connecte via OTP. Il obtient des droit pour effectuer des signatures

Cas d'usages

Voici quelques exemples de configuration pour illustrer les différents cas.

J'ai un annuaire ldap et je souhaite attribuer le role ROLE_USER en fonction d'un filtre ldap




  • Aucune étiquette