Tryton – gestion des droits d’accès

La gestion des droits d'accès aux modules Tryton repose sur :

  • les groupes
  • les ACL (Access Control List)
  • les "record rules"


Si rien de ce qui suit n'est configuré pour un module donné, un utilisateur a alors tous les droits sur ce module.

Groupe
Un groupe caractérise une
typologie d'utilisation d'un ou plusieurs modules (ex: vendeur, responsable  des ventes).

Un groupe est déclaré dans le fichier xml d'un module ou créé par l'écran d'administration.

extrait "sale.xml"

L'objet "Groupe" est implémenté dans le "model" res.group.

Un utilisateur est affecté à un ou plusieurs groupes lors de sa création ou de sa modification.

extrait écran "administration des utilisateurs"

Il est possible de restreindre à un ou plusieurs groupes :

  1- les droits d'accès aux objets ("model") et/ou champs via les ACL
      cf paragraphe suivant

   2- les accès à un menu

extrait "sale.xml"

   3- les accès à une action

extrait "sale/party.xml"

    4- les accès à un bouton

extrait "sale.xml"

   5- les accès à un "type de séquence"

extrait "sale.xml"

Il est possible d'affecter un groupe à un utilisateur (ex: "administrateur") lors de la livraison du module

extrait "sale.xml"

Il n'est par contre pas possible qu'un groupe hérite des droits d'un autre groupe.

ACL
Une ACL définit les droits d'accès au format "CRUD" (création, lecture, modification, suppression) sur un objet ("model") ou un champ.

Les ACL sont aussi utilisées dans les "record rules" (cf plus loin).

 - exemple d'ACL sur un "model"

extrait "sale.xml"

- une ACL peut être positionnée sur un champ par l'écran d'administration

Record Rule
Les "règles d'enregistrement" (i.e. "record rules") permettent de restreindre les accès de certaines données aux utilisateurs.

Dans l'exemple ci-dessous, seuls les enregistrements qui satisfont à la contrainte exprimée dans "domain", sont accédés (utilisation des ACL) :

extrait "sale.xml"

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *