|
1 Le contrôle d'accès |
|
2 =================== |
|
3 |
|
4 |
|
5 Vocabulaire |
|
6 ----------- |
|
7 * Personne, Societe définissent deux *types* d'entité |
|
8 * "Personne travaille_pour Societé" déclare qu'une relation |
|
9 travaille_pour peut exister entre une entité de type Personne et une |
|
10 entité de type Societe. L'ensemble des règles de ce type appliqué |
|
11 à la relation "travaille_pour" définit le schéma de la relation |
|
12 "travaille_pour" |
|
13 |
|
14 |
|
15 Description du modèle de sécurité |
|
16 --------------------------------- |
|
17 |
|
18 Le modèle de sécurité de cubicweb est un modèle fondé sur des `Access |
|
19 Control List`. Les notions sont les suivantes : |
|
20 |
|
21 * utilisateurs et groupes d'utilisateurs |
|
22 * un utilisateur appartient à au moins un groupe |
|
23 * droits (lire, modifier, créer, supprimer) |
|
24 * les droits sont attribués aux groupes (et non aux utilisateurs) |
|
25 |
|
26 Pour CubicWeb plus spécifiquement : |
|
27 |
|
28 * on associe les droits au niveau des schemas d'entites / relations |
|
29 * pour chaque type d'entité, on distingue les droits de lecture, |
|
30 ajout, modification et suppression |
|
31 * pour chaque type de relation, on distingue les droits de lecture, |
|
32 ajout et suppression (on ne peut pas modifer une relation) |
|
33 * les groupes de base sont : Administrateurs, Utilisateurs, Invités |
|
34 * les utilisateurs font par défaut parti du groupe Utilisateurs |
|
35 * on a un groupe virtuel "Utilisateurs Propriétaires", auquel on peut |
|
36 associer uniquement les droits de suppression et de modification |
|
37 * on ne peut pas mettre d'utilisateurs dans ce groupe, ils y sont |
|
38 ajoutés implicitement dans le contexte des objets dont ils sont |
|
39 propriétaires |
|
40 * les droits de ce groupe ne sont vérifiés que sur |
|
41 modification / suppression si tous les autres groupes auxquels |
|
42 l'utilisateur appartient se sont vu interdir l'accès |
|
43 |