Version 12 — Mars 2012 — Richie
Pour cela, une solution est d’examiner les sources définissant les fonctions d’autorisation :
- en SPIP v2 stable à ce jour, il faut examiner ./ecrire/inc/autoriser.php
, et ./ecrire/inc/utils.php
- pour les plugins, vous pourrez rechercher les lignes contenant function autorise....
- l’autre solution consiste à en regarder les usages : cherchez les fichiers avec autoriser('
pour commencer..
Récapitulons les paramètres de la fonction :
function autoriser_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL)
API pour une fonction generique d’autorisation :
La première question porte sur la liste des actions controlées : le paramètre du faire !
La première question porte sur la liste des actions controlées : le paramètre du faire !
Le premier paramètre est un mot obligatoire , unique
On trouve aussi des autorisations génériques (se reporter à l’ordre de recherche des fonctions..) :
spip_auteurs_rubriques
en SPIP2)On commence une récapitulation des actions :
- dans utils :
A partir de là, cela devient plus clair : on va pouvoir commencer à jouer avec les autorisations ;
(je n’ai pas repris ici la chaine de recherche en cascade des droits d’autorisations... mais je la connaitrai bientot par coeur... : donc je l’ecrirai !!)
Evidement, l’utilisation des tests d’Autorisations ne peut conerner qu’un auteur identifié/connecté à SPIP, Un cas particulier concerne l’autorisation webmestre, la seule qui soit refusée aux administrateurs, et nous ne parlerons pas des auteurs désactivés [1] ; sinon les droits classiques sont exposés dans la plupart des articles sur le statut des utilisateurs, avec une mention pour le tableau récapitulatif de utiliser Spip.
Rappelons que la table des statuts est codée en ecrire/inc_version.php[375]
, comme celle des états des articles, d’ailleurs.]].
| Statuts concernés| Visiteur | Rédacteur | Admin.restreint | Administrateur |
| mot de commande | 6forum | 1comite | 0minirezo | 0minirezo |
| voir | OK | OK | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
| | - | - | OK | OK |
Visiter le site public
Participer aux forums sur abonnement du site public [*] Il peut faire tout ce qu’un visiteur peut faire mais aussi :
rédiger de nouveaux contenus : écrire un nouvel article, une nouvelle brève [*], ajouter des images et documents, référencer un site web [*], etc.
proposer ces nouveaux contenus à la relecture avant publication ;
continuer à écrire et corriger ses articles « en cours de rédaction » ou « proposés à la publication » ; modifier une brève « à valider » [*] ;
relire et commenter les articles proposés à la publication par d’autres rédacteurs ;
prévisualiser les articles « proposés à la publication » sur le site public [*] ;
consulter la liste des auteurs ;
consulter la liste des mots-clés [*] ;
Il ne peut pas :
Modifier un article publié, même s’il en est l’auteur ;
Créer un nouvelle rubrique.
Créer un mot clé Il peut faire tout ce qu’un rédacteur peut faire et dans les rubriques qu’il administre il peut :
Publier les contenus sur le site public : valider et publier un article, une brève, un site, etc.
Modifier les contenus déjà publiés ;
Modérer les forums de discussion ;
Associer un nouvel auteur à un article ;
Créer des sous-rubriques
Il ne peut pas :
Créer un mot clé ;
Créer de nouveaux auteurs Il peut faire tout ce qu’un admin restreint peut faire mais aussi :
Modifier les droits et statuts des autres auteurs ;
Créer de nouveaux auteurs ;
Modifier les paramètres de configuration générale du site ;
Activer, désactiver et paramétrer des fonctionnalités supplémentaires.
SP
A partir de là, cela devient plus clair : on va pouvoir commencer à jouer avec les autorisations ;
(je n’ai pas repris ici la chaine de recherche en cascade des droits d’autorisations... mais je la connaitrai bientot par coeur... : donc je l’ecrirai !!La chaine de recherche des autorisations : )
_ mais il reste encore deux sujets à compléter...
- traduite en autorisations le #SESSION{auteur}
ou #SESSION{statut}
- identifier facilement les admins restreints (quel est le paramétrage de leur autorisation), récupérer plus facilement leurs rubriques autorisées => ressortir le $qui de autoriser_dist ?
et restreindre pareillement des auteurs redacteurs et pas seulement des admins, à une liste de rubriques (mais en SPIP 3, la table change de formats....) : à noter (Spip 2.1.12) la conversion d’un Admin restreint en redacteur ne supprime pas les restrictions dans la table auteurs_rubriques => à tester pour usage en autorisations..