diff -r 30f19b976857 -r 9c919a47e140 doc/book/en/13-security.en.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/book/en/13-security.en.txt Tue Nov 18 01:16:30 2008 +0100 @@ -0,0 +1,45 @@ +.. -*- coding: utf-8 -*- + +Utilisateurs de l'application : Le contrôle d'accès +=================================================== + + +Vocabulaire +----------- +* Personne, Societe définissent deux *types* d'entité +* "Personne travaille_pour Societé" déclare qu'une relation + travaille_pour peut exister entre une entité de type Personne et une + entité de type Societe. L'ensemble des règles de ce type appliqué + à la relation "travaille_pour" définit le schéma de la relation + "travaille_pour" + + +Description du modèle de sécurité +--------------------------------- + +Le modèle de sécurité de CubicWeb est un modèle fondé sur des `Access +Control List`. Les notions sont les suivantes : + +* utilisateurs et groupes d'utilisateurs +* un utilisateur appartient à au moins un groupe +* droits (lire, modifier, créer, supprimer) +* les droits sont attribués aux groupes (et non aux utilisateurs) + +Pour CubicWeb plus spécifiquement : + +* on associe les droits au niveau des schemas d'entites / relations +* pour chaque type d'entité, on distingue les droits de lecture, + ajout, modification et suppression +* pour chaque type de relation, on distingue les droits de lecture, + ajout et suppression (on ne peut pas modifer une relation) +* les groupes de base sont : Administrateurs, Utilisateurs, Invités +* les utilisateurs font par défaut parti du groupe Utilisateurs +* on a un groupe virtuel "Utilisateurs Propriétaires", auquel on peut + associer uniquement les droits de suppression et de modification +* on ne peut pas mettre d'utilisateurs dans ce groupe, ils y sont + ajoutés implicitement dans le contexte des objets dont ils sont + propriétaires +* les droits de ce groupe ne sont vérifiés que sur + modification / suppression si tous les autres groupes auxquels + l'utilisateur appartient se sont vu interdir l'accès +