Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Info

esup-signature propose plusieurs modes 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écanisme de correspondance groupes → rôles que l'on va détailler ici.

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

Mécanisme d'attribution des rôles

...

  • 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 configurationConfiguration#ldap.1
  • Dans tous les cas il est aussi possible d'attribuer des groupes via des règles group-mapping-spel 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 vient 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 se 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.

...

Remarque

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

  • ROLE_USER : indispensable pour accéder à l'application
  • ROLE_ADMIN : qui ouvre les droits à la partie administration
  • ROLE_OTP : obtenu lorsqu'un utilisateur externe se connecte via OTP. Il obtient des droits pour effectuer des signatures
  • ROLE_SEAL : permet de signer avec le certificat cachet d'etablissement lorsqu'il est disponible

Cas d'usages

Voici quelques exemples de configuration à mettre en place dans src/main/ressource/application.yml pour illustrer différents cas de figure.

...

Bloc de code
languageyml
themeRDark
ldap:
    search-base: ou=people
	group-search-base: ou=groups
    user-id-search-filter: (uid={0})
    group-search-filter: member={0}
    member-search-filter: (&(uid={0})({1}))
    mapping-filters-groups:
        adminmes-admins : "(memberOf:=cn=esup-signature_admin,ou=groups,dc=univ-ville,dc=fr)"			# ici le filtre ldap va remplir un groupe virtuel propre à esup-signature 'adminmes-admins'


Avertissement

Attention vos requetes LDAP doivent impérativement être mises entre parentheses.

...