Bonjour à tous,
Sur un espace j’ai plusieurs table et une page qui est un custom widget.
Je souhaite accorder l’accès uniquement à la page du custom widget a un certain type d’utilisateur, le système de gestion des droits d’accès et je trouve très complexe, pouvez vous m’aider ?
merci de votre aide.
Bonjour @Tuonoman,
Pour limiter l’accès à une page dans un document Grist, vous devez utiliser le systèmes des permissions (access rules).
Je vous invite à lire la doc officiel sur Grist (Règles d'accès - Grist Help Center) sur la gestion des permissions avancées, ainsi que l’excellent tuto de @ailepet >> Un point de départ pour maîtriser les permissions avancées
Pour répondre plus précisément à votre problématique, de comment accorder des droits à un custom widget, qu’il soit créer avec l’outil custom widget builder ou via une URL personnalisée vers votre propre hébergement, vous avez forcément liée votre widget à une donnée source (table). Et donc en appliquant vos règles sur cette table, vous accorder des autorisations sur votre widget qui consomme ses données.
Imaginez la situation suivante :
-
Vous avez une table « PAGES », vierge sans aucune donnée.
-
Vous liez votre custom widget à cette table « PAGES » comme source de données
-
Dans les access rules vous ajoutez les règles sur la table « PAGES » suivantes :
| Règle condition |
Read |
Update |
Create |
Delete |
user.Access in [OWNER] |
R |
U |
C |
D |
ADMIN in user.Team.PROFILS_TXT |
R |
U |
C |
D |
user.Access in [EDITOR, VIEWER] |
R |
x |
x |
x |
Tous les autres |
x |
x |
x |
x |
Le système des permissions dans Grist va vérifier le rôle de l’utilisateur. Si l’utilisateur est OWNER, il aura tous les droits (Create, Read, Update et Delete). Si il a le rôle EDITOR ou VIEWER, il n’aura que des droits de lecture. Et si l’utilsiateur n’a pas de droit (accès public), il n’aura aucun droit.
En conséquence, la page qui affiche le widget ne sera pas « visible » dans l’arborescence à gauche de votre document Grist pour des utilsateurs sans rôle. Les EDITOR et VIEWER, verront la page, mais ne pourront pas mettre à jour/créer/supprimer des données (selon ce que permet votre widget). Seuls les OWER et les utilsiateurs avec un profil custom ADMIN pourront modifier les données de table.
Pour un widget, qui a un full access, et potentiellement interragit avec plusieurs tables, il faudra mieux utiliser une méthode en créant des profils utilisateurs pour limiter les permissions sur chacune des tables concernés.
++
1 « J'aime »
@vincent.blain merci pour le coup de main