Propositions pour acl2

Le but de cette page et de faire un état des lieux des besoins en gestion de droits sur une application type CMS par exemple, avec beaucoup de types de contenu différents et de droits différents selon le type de contenu.

Voici en vrac ce qu'il faut qu'on éclaircisse:

  • Gestion des rôles
  • Gestion des groupes
  • Gestion des sujets (au sens jxacl)
  • Gestion des ressources (article, photos ou tout type de contenu)

Quelques idées en vrac:

  • Utilisation des Taxonomies comme dans Drupal (http://www.drupal.org)
  • Pouvoir avoir rapidement tous les droits d'un utilisateurs

Ce document sera complété au fur et à mesure.

Spécification de acl2

Comment Organiser les droits ?

Premièrement, la gestion des droits de ce type d'application est très complexe et peut vite devenir une usine à gaz. Je pense qu'il faut donc prévoir une hiérarchisation des droits. En effet, plus les droits sont organisés, plus il est facile de s'y retrouver.

Voici donc une proposition:

  • Création d'une liste de rôles par modules de l'application. Chaque module définit les roles dont elle a besoin.
  • On peut imaginer des rôles globaux à l'application (genre administrateur, ou autre) qui surpasse les rôles du module.
  • Un rôle est lié à un groupe de droits

Ensuite plusieurs cas sont possibles. Je verrais bien:

  • Création de groupes d'utilisateurs, auxquels on peut associé des rôles
  • Création d'utilisateurs, auxquels on peut associer directement des rôles ou qui peuvent appartenir à des groupes d'utilisateurs. Pour simplifier le core de jxacl, on peut utiliser un groupe privé pour chaque utilisateur ayant le mm nom que l'utilisateur.

Interface graphique

Il faut absolument avoir plusieures vues des droits:

  • une par utilisateurs pour voir directement ces droits et d'où il les hérite (user, group ..)
  • une vue par groupe, affichant les users dans le groupe et le rôles attribuer à ce groupe
  • une vue par module, application pour voir qui a accès à quoi dans cette application.

Classe à implémenter

Je pense qu'il faudrait implémenter une classe qui gère les groupes d'utilisateurs avec des différents drivers possible, et aussi des méthodes bien définies pour les manipuler. La notion de groupe d'utilisateurs n'est pas spécifique à jxacl à mon avis, le lien ce ferait entre les groupes d'utilisateurs et les rôles.

Download in other formats: Plain Text