
SPIP-Agora intègre un système de gestion des droits flexibles permettant la mise à disposition d’actions (notamment dans le back-office)
Le système de driver pour les autorisations est géré dans l’arborescence des fichiers de SPIP-Agora dans le répertoire : ecrire/include/authorization.
Dans ce répertoire, le sous répertoire common représente le système de droit par défaut. Plutôt que le modifier directement [1] il vaut mieux utiliser le système de driver de SPIP-Agora.
Dans SPIP-Agora, à chaque profil (administrateur, webmestre, rédacteur ...) est associé un poids numérique :
| Profil | Poids |
|---|---|
| visiteur | 1 |
| rédacteur | 2 |
| rédacteur en chef | 4 |
| webmestre | 8 |
| administrateur | 16 |
[2]
Les actions sont décrites dans le fichier ecrire/include/authorisation/ActionDB_common.php. Voici un aperçu de ce fichier :
Pour chaque action, représentée par les clefs de ce tableau associatif, un poids est également associé. Le prérequis, pour un contributeur, à la réalisation de cette action (par exemple, creerArticle pour créer un article) est qu’il dispose d’un poids numérique au moins égal au poids de l’action. [3]
Si, par exemple, on désire que les rédacteurs puissent créer des rubriques, il suffit de modifier l’entrée creerRubrique et de lui affecter un poids de 2 :
Il faut ensuite impérativement effacer les fichiers suivants correspondant au cache des autorisations :
Puis vous déconnecter et vous connecter à nouveau.
Je vous invite à consulter un cas pratique
[1] ce qui rendrait votre instance de SPIP-Agora particulière par rapport à la version de référence
[2] ces poids sont fixés dans la table _profils
[3] ce n’est pas toujours suffisant ; par exemple, dans le cas de la création d’un article, il faut également que le contributeur ait accès à la rubrique. C’est pourquoi qu’à chaque action est associé une classe métier. Voir ce cas pratique de modification d’une classe métier