Carnet Wiki

Etendre Acces Restreint au-delà des Rubriques ?

Version 6 — Mai 2019 YannX

La gestion des Autorisations d’accès n’est pas limitée à la seule arborescence des Rubriques (controlable par le plugin Acces Restreint) : voir les rubriques de plugins :
-  http://contrib.spip.net/Auteurs-authentification-et-autorisations
-  http://contrib.spip.net/Acces-restreint-750

Reprendre connaissance du Contexte SPIP

SPIP comporte une architecture unifiée de contrôle des droits d’accès (interface privée et interface publique / rubriques et objets editoriaux, boutons, formulaires et fonctionnalités) organisée autour des fonctions d’autorisations.

Quelques plugins permettent d’approfondir les gestions d’autorisations :
-  http://contrib.spip.net/Le-plugin-Autorite
-  les plugins cirr [1] du Ministère de l’Equipement en particulier http://contrib.spip.net/cirr-plugin-redacteur-restreint (mais problèmes de compatibilité.. cf. http://article.gmane.org/gmane.comp.web.spip.devel/59132 )


(Attention : notes de travail !)

Quelques Réflexions

Accès Restreint est vraiment tourné UNIQUEMENT autour des Rubriques
alors même que la table zones_liens permet déjà de lier ce qu’on veut
et que le core fournit un formulaire de liaison générique
donc autant pour l’interface que pour le stockage, ya ce qu’il faut pour gérer tous les objets
MAIS
mais par contre l’API, les fonctions centrales, elles, elles ne sont que tournées vers les Rubriques
-   < s>ensuite ensuite , si on veut aussi « proteger » les documents..... il faudrait patcher un .htaccess rewritant /IMG/ pour faire un fread des fichiers malgré un .htaccess /IMG/ deny from all intégré à Accès restreint !
htaccess / IMG / deny from all -* Autre piste : j’ai vu que certaines astuces de Fabrique permettent de compiler le nom de (TABLES) en variables dans les boucles
ne pourrait-on appliquer ce mecanisme à Acces Restreint ?
sinon, serait-ce imaginable de rajouter un paramètre $type=’rubrique’ donnant le niveau supplémentaire d’indirection qui manque ?

-  nan, toutes les fonctions de l’API ne font que des tests de rubriques, avec la hiérarchie et tout
donc vraiment spécifique aux rubriques
la partie boucle c’est pas la plus compliquées
-  c’est bien dommage, car j’ai plusieurs fois revé de pouvoir « detourner » le fonctionnement vers d’autres objets....
-  ben j’essaye j’essaye, mais là mes yeux tombent
il faudrait surtout d’abord écrire quelques fonctions génériques de plus haut niveau
genre : accesrestreint_liste_objets_exclus()
-  jamias je n’ai trouvé/cherché d’explications me permettant de rentrer dans ces arcanes du compilo... et je manque bcp trop de connaissances des API spip pour pouvoir te suivre.... mais peu-tetre faut-il pointer cela dans une page carnet ?
-  vu que pour l’instant une des fonctions les plus importantes c’est accesrestreint_liste_rubriques_exclues()

ben c’est pas le compilo là
c’est une fonction de l’API inc/accesrestreint
-   j’avais commencé à integrer un filtrage Acces Restreint pour.... j’ai oublié / en lien avec une Autorisation...

-   là où ça modifie les boucles c’est dans public/accesrestreint
dans le pipeline pre_boucle
mais en utilisant la fonction principale qui se trouve dans inc/accesrestreint

Voir aussi les pistes évoquées pour zoner dans http://spippourlesnuls.fr/?autorisa....