Les utilisateurs et les rôles dans PHPReaction

Les utilisateurs et les rôles dans PHPReaction

Le logiciel de PHPReaction utilise le concept de rôles, pour donner des permissions aux bonnes personnes selon leurs responsabilités.

Dans PHPReaction, chaque utilisateur possède des rôles tout dépendant de ses droits et de son poste dans son organisation. Le but de cette documentation vise donc à expliquer comment les rôles fonctionnent vis à vis un tel système et les actions spécifique accessibles à ces rôles dans le logiciel. 

Rôles

Lors de la création d’un utilisateur dans PHPReaction, celui-ci se fait automatiquement attribuer un rôle de base, qui est un rôle « Utilisateur ». Par la suite, il est possible de lui ajouter des rôles plus spécifique selon ses permissions dans le logiciel. Ces rôles sont associés à l’utilisateur selon les tâches qu’il doit pouvoir réaliser, mais il ne peut faire plus qu’il est supposé faire.  Si l’utilisateur fait de la comptabilité, il devrait seulement avoir accès à la portion de la comptabilité,  il ne devrait pas pouvoir modifier l’inventaire, par exemple.

Voici la liste des rôles principaux que nous pouvons retrouver dans PHPReaction :

  • Super-Administrateur : ROLE_SUPER_ADMIN

    • Un super-administrateur est la personne qui peut tout faire, même modifier des administrateurs réguliers.
  • Administrateur : ROLE_ADMIN
    • Un super-administrateur est la personne qui peut tout faire, sauf modifier des administrateurs comme lui
  • Utilisateur : ROLE_USER
    • Un utilisateur de base est plus limité et n’a pas accès à tout dans le logiciel

Chacun de ses rôles donnent des permissions différentes à l’utilisateur. C’est pourquoi lorsque vous utilisez le logiciel, vous pouvez voir et faire certaines choses que les autres utilisateurs peuvent ou ne peuvent pas faire aussi. Ces trois rôles regroupent plusieurs rôles spécifiques, qui sont définis plus bas.

Rôles spécifiques

Il existe aussi des rôles plus spécifiques qui vous permette de faire des actions plus spécifique sur les entités dans le logiciel :

  • ROLE_MOD_ENTITE_DROPDOWN
    • Liste simple de toutes les entitées (Par exemple : lister tous les produits dans l’inventaire. mais sans avoir toutes les relations des produits)
  • ROLE_MOD_ENTITE_LISTING 
    • Lister toutes les entités (Par exemple : lister tous les produits dans l’inventaire)
  • ROLE_MOD_ENTITE_SHOW 
    • Afficher les informations d’une entité spécifique (Par exemple : afficher les informations du produits #12)
  • ROLE_MOD_ENTITE_ADD

    • Ajouter, créer une entité (Par exemple : créer le produit #13)
  • ROLE_MOD_ENTITE_DUPLICATE
    • Dupliquer une entité (Par exemple : Dupliquer le produit #12)
    • Dupliquer est une combinaison des actions ROLE_MOD_ENTITE_ADD  et ROLE_MOD_ENTITE_EDIT
  • ROLE_MOD_ENTITE_EDIT
    • Modifier une entité (Par exemple : changer le nom du produit #13 pour #14)
  • ROLE_MOD_ENTITE_DELETE
    • Supprimer une entité (Par exemple : supprimer le produit #12)
  • ROLE_MOD_ENTITE_TRANSFER
    • Transférer les relations d’une entité (Par exemple : transférer les coordonnées du fournisseur du produit #13 au produit #14)

Vous avez également accès à des rôles qui vous donnent accès à des actions en générales, peu importe les entités :

  • ROLE_MOD_DROPDOWN

    • Liste simple de toutes les entitées (Sans les relations)
  • ROLE_MOD_LISTING
    • Lister toutes les entités
  • ROLE_MOD_ADD

    • Créer une entité
  • ROLE_MOD_SHOW

    • Obtenir toutes les informations d’une entité
  • ROLE_MOD_DUPLICATE
    • Dupliquer une entité
  • ROLE_MOD_EDIT
    • Éditer une entité
  • ROLE_MOD_DELETE

    • Supprimer une entité
  • ROLE_MOD_TRANSFER

    • Transférer les relations d’une entité

Il existe également des rôles qui vous donnent accès à un groupe d’action, que l’on appelle CRUD (Create, Read, Update, Delete) ou CRU (Create, Read, Update). Ce groupe d’action vous permet de créer, lire, modifier ou mettre à jour une entité. Ces actions peuvent être réalisés sur l’entité spécifié dans le rôle :

  • ROLE_MOD_ENTITE_CRUD
    • Permet de faire les quatre actions sur une entité.
    • Par exemple : ROLE_MOD_PRODUCT_CRUD, vous permet de faire toutes ces actions sur les produits
  • ROLE_MOD_ENTITE_CRU
  • Permet de faire trois des quatre actions sur une entité. Vous ne pouvez juste pas supprimer.
  • Par exemple : ROLE_MOD_PRODUCT_CRU, vous permet de faire toutes ces actions sur les produits, sauf la suppression d’un produit.

Access Control List (ACL)

Par la suite, les différentes actions spécifiques que peuvent réaliser les rôles sont ce que l’on appellent ACL (Access-control List) ou liste de contrôle d’accès. Dans cette liste, nous trouvons des actions comme la lecture, la création, la modification et la suppression d’entités.

Liste des actions possibles :

  • Lecture de toutes les entitées
  • Lecture simplifiée de toutes les entitées
  • Lecture d’une entité spécifique
  • Création
  • Modification
  • Supression
  • Dupliquer
  • Transférer

La différence entre un rôle et un ACL, est que le rôle donne des permissions, tandis qu’un ACL est tout simplement une action. Les rôles plus spécifiques, mentionnés plus tôt, sont en quelques sortes des ACLs.

Par exemple, le ROLE_ADMIN est un rôle général et donne accès à plusieurs rôles plus spécifiques qui lui permettent de réaliser des actions différentes sur une vaste majorité des entités. Ses ACLs pourraient donc être la création, la modification, la suppression, etc. 

Pour en savoir plus

Possession (Ownership)

Dans PHPReaction, il existe la notion de « Possession » ou « Ownership ». La possession est lorsque vous créez quelque chose dans le logiciel. Par exemple, si vous créer une feuille de temps, celle-ci sera liée à vous, puisque vous en serez le « propriétaire ». En étant propriétaire d’une entité, comme une feuille de temps, vous pourrez effectuer certaines actions dessus, tout dépendant de votre rôle.

En étant le propriétaire, vous seul pouvez voir votre feuille de temps, à l’exception des administrateurs et super-administrateurs. Mais, aucun autre utilisateur de base ne pourra la modifier ou tout simplement la consulter.

Pour les administrateurs et les super-administrateur, ils peuvent donner cette possession à d’autres utilisateurs dans le système et les rendre propriétaire d’une entité. La possession s’applique également à d’autres entités et dans les paramètres même de votre logiciel.

Ajouter des utilisateurs

Avant de pouvoir ajouter des rôles à une personne, son compte utilisateur doit être créer. Si ce n’est pas déjà fait, nous vous conseillons d’en faire la demande par formulaire.

Si vous voulez modifier ses accès aux logiciels, vous pouvez aussi en faire la demande par notre formulaire de changement d’utilisateur.
Vous pouvez également retirer des utilisateurs de votre système.

Pour chaque nouveaux utilisateurs, nous vous conseillons de consulter notre page de bienvenue aux nouveaux utilisateur. Pour les administrateurs, vous pouvez référez vos utilisateurs à cette page pour toutes questions. 

Ajouter des rôles à une personne

Donner des accès à la personne

Maintenant que nous avons définit ce que sont des rôles et des ACLs, nous pouvons maintenant voir comment ils sont attribués aux personnes dans le logiciel PHPReaction.

Tout d’abord, si vous avez les accès bien évidemment, vous devez vous rendre le tableau de bord des personnes, situé dans les paramètres du site, sous la section « Relations ».

Ensuite, vous pouvez sélectionner la personne dont vous voulez modifier ou donner des droits. Vous devez d’abord vous assurez que celle-ci à un accès au logiciel. Sinon, un compte doit lui être créer avec un nom d’utilisateur et un mot de passe, ainsi que ses accès.

Ajouter des rôles

Par la suite, si ses accès sont créés ou que vous venez de les créer vous devriez voir une section nommée « RÔLE » dans les sections à droite. Si vous ne voyez rien après la création des accès, rafraichissez tout simplement votre page.

Vous pouvez ouvrir le menu et vous verrez la liste des rôles associés à cette personne. Le rôle ROLE_USER est là de base, vous ne pouvez donc pas l’enlever. Mais, vous pouvez ajouter et retirer des rôles à cet utilisateur.