Groupes et autorisations

Voir la FAQ Grav Admin, pour savoir comment gérer les utilisateurs.

Définir des groupes.

Par défaut, Grav ne fournit aucun groupe. Vous devez les définir.

Les groupes sont définis dans le fichier user/config/groups.yaml. Si ce fichier n'existe pas encore, créez-le.

Voici un exemple de définition de groupes d'utilisateurs :

1  | registered:
2  |   icon: users
3  |   readableName: 'Registered Users'
4  |   description: 'The group of registered users'
5  |   access:
6  |     site:
7  |       login: true
8  | paid:
9  |   readableName: 'Paid Members'
10 |   description: 'The group of paid members'
11 |   icon: money
12 |   access:
13 |     site:
14 |       login: true
15 |       paid: true
16 | administrators:
17 |   groupname: administrators
18 |   readableName: Administrators
19 |   description: 'The group of administrators'
20 |   icon: child
21 |   access:
22 |     admin:
23 |       login: true
24 |     site:
25 |       login: true

Nous définissons ici 3 groupes.

Affectation d'un utilisateur à un groupe.

Chaque utilisateur peut être affecté à un groupe.

Ajoutez simplement

1 | groups:
2 |   - paid

au fichier yaml d'un utilisateur sous user/accounts.

Vous pouvez ajouter plusieurs groupes :

1 | groups:
2 |   - administrators
3 |   - another-group

Vous pouvez également modifier les informations de groupe d'un utilisateur via le plug-in d'administration.

Autorisations.

Les utilisateurs affectés à un groupe héritent des autorisations du groupe. Vous pouvez par exemple définir un groupe qui a la permission site.paid en ajoutant :

1 | access:
2 |   site:
3 |     paid: false

à la définition de groupe dans user/config/groups.yaml.

Lorsqu'un utilisateur est affecté à ce groupe, il hérite de l'autorisation site.paid: true.

Lorsqu'un utilisateur appartient à plusieurs groupes, il suffit qu'un groupe fournisse une autorisation, et celle-ci sera ajoutée aux autorisations de l'utilisateur. Ajustement des autorisations au niveau de l'utilisateur

Vous pouvez également affiner les autorisations au niveau de l'utilisateur, comme d'habitude. Avec les groupes, vous pouvez définir une autorisation globale et la refuser au niveau de l'utilisateur, en ajoutant

1 | access:
2 |   site:
3 |     paid: false

au fichier yaml d'un utilisateur.

Voir la FAQ Grav Admin, pour en savoir plus sur les autorisations disponibles.