doc/book/fr/13-security.fr.txt
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Wed, 23 Jun 2010 13:54:02 +0200
branchstable
changeset 5857 1a24c62aefc5
parent 93 9c919a47e140
permissions -rw-r--r--
[bfss] fix file update to ensure file's content is available on the fs asap... and not only at commit time. So it's consistent with entity creation behaviour. The new file is created at assignement time and removed if the commit is rollbacked.

.. -*- 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