Le 07/05/2020 à 20:53, nicod_ a écrit :
Mais sur un autre SPIP 3.2 en particulier, ça passe direct, on peut
télécharger quand même les docs, je chercher à comprendre pourquoi...
J'ai compris le problème, il y a effectivement un bug dans certains cas.
Quand on a activé la constante, une requête est lancée pour vérifier si
le document est attaché à un objet lui même attaché à une rubrique
restreinte :
https://git.spip.net/spip-contrib-extensions/acces_restreint/src/tag/v4.0.0/inc/accesrestreint_autoriser.php#L269
Exemple de requête générée :
http://spip.pastebin.fr/62681
Si le document a uniquement un lien vers un article ou une rubrique, ça
marche comme prévu : la requête ne renvoie rien et un visiteur non
connecté ne voit pas le doc.
Mais si le document a un lien vers un autre objet (un auteur par
exemple) dans spip_documents_liens, la requête renvoie bien
l'id_document, et l'autorisation est donc donnée, ce qui n'est pas du
tout ce qu'on veut.
Cela vient des deux clauses OR ((zzzd.objet NOT IN
('rubrique','article','breve','forum')), qui remontent donc un
enregistrement s'il y a un lien vers un auteur, une patate ou autre.
C'est généré ici :
https://git.spip.net/spip-contrib-extensions/acces_restreint/src/tag/v4.0.0/public/accesrestreint.php#L256
Cedric, si tu as suivi mon raisonnement (que je peux reproduire
maintenant), qu'en penses tu ?
--
nicod_
_______________________________________________
liste: https://listes.rezo.net/mailman/listinfo/spip-dev
doc: https://www.spip.net/
dev: https://core.spip.net/
irc://irc.freenode.net/spip