Skip to content
rasler edited this page Feb 12, 2012 · 6 revisions

La gestion des droits d'accès est effectuée à l'intérieur de la classe Système. Lors de l'instanciation de cette classe, les droits sont chargée pour la session en cours.

Permissions

La gestion des droits s’appuie sur l'attribution de permissions aux utilisateurs. Une fonction peut se protéger en faisant appel aux fonction permissions_test($perm) ou permissions_require($test).

La première retourne un boolean pour indiquer s'il l'utilisateur courant dispose du droit alors que la seconde lance une PermissionException si l'utilisateur ne dispose pas du droit (ce qui a pour effet de bloquer l'appel à la fonction).

Les permissions sont hiérarchisées : un utilisateur qui a la permission admin.* aura toutes les permissions associées comme admin.user.create, admin.user.read ...

Valeurs par défaut

Les utilisateur non identifiés se voient attribuer les permissions public_permissions définies dans le fichier de configuration.

De même, les utilisateurs sont créés avec les permissions default_permissions définies dans le même fichier.

Note : la suppressions d'un utilisateur supprime également ses permissions associées.

Liste des permissions de système

  • admin
    • permission
      • grant : autorise l'ajout de permissions à des utilisateurs autres que soit-même
      • revoke : autorise la suppression de permissions à des utilisateurs autres que soit-même
    • picture
      • read : autorise la lecture d'image dont on n'est pas propriétaire
      • delete : autorise la suppression d'image dont on n'est pas propriétaire
    • user
      • create : autorise la création d'utilisateurs
      • read : autorise la lecture d'utilisateurs autres que soit-même
      • update :
      • delete : autorise la suppression d'utilisateurs autres que soit-même
  • application
    • login : autorise la connexion au système
    • picture
      • upload : autorise la manipulation des dossiers du compte utilisateur et l'upload de nouvelles images