[Résolu] taxonomy_access_control qui devient fou...

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonsoir,

Avez vous déjà eu vos droits d'accès qui deviennent fous avec le module taxonomy_access_control ???

Je n'y comprends plus rien. J'étais plutôt heureux avec ce module, quand soudain, tout dérape sur une page.

Mon problème :

J'ai une page précise, qui est liée à 2 termes de 2 catégories. De fait, la page "circuit de la semaine" est liée aux termes : "Cyclisme" et "Circuit".

J'ai un rôle qui administre ces circuits. A qui j'ai affecté "Allow" pour Update sur ces termes.

Devinez quoi ? L'utilisateur n'a pas accès à l'édition de cette page, mais pire, il a du coup accès à l'édition sur "Cyclisme" "Actualité" et "Cyclisme" "Présentation"...

Je n'y comprends plus rien. J'ai réinitialisé les tables en désactivant le module, je suis allé voir le contenu des tables (term_access notamment), tout à l'air tout bon...

Avez vous déjà vu ça ? Merci de votre aide si vous avez déjà vécu ça, parceque je commence à tourner en rond !

@++, Stef.

Yeeeees ! Je viens de trouver la solution !!!!! Je m'empresse de vous la donner, au cas où un jour, quelqu'un serait au bord de craquer comme moi :-)

Il suffisait de lire calmement et doucement l'aide du module... Une phrase aurait dû m'alerter bien plus tôt :

Input formats: Node editing/deleting is blocked, even when user has UPDATE/DELETE permission to the node, when user is not allowed to use a filter format that the node was saved at.

Et bingo ! J'avais créé cette page en mode administrateur. Comme je débutais en Drupal et que je n'arrivais pas à insérer une image sans ça, j'avais passé le filtre en full html. Or... Mon utilisateur n'a droit qu'à Filtered HTML... Et voilà... Du coup, j'avais beau m'acharner et tout bien faire au niveau des droits, il n'y avait pas accès en édition !

Deuxième souci, résolu lui aussi. L'utilisateur avait accès en édition à d'autres pages.

Taxonomy_access_control ne permet visiblement pas de fonctionner par association de catégorie. Ainsi, si un noeud est lié à deux termes de deux catégories, il ne faut donner les droits qu'au terme prédominant. Dans mon cas, je n'ai donné l'édition qu'au terme "Circuit". Car sinon, l'utilisateur avait accès à éditer tous les noeuds qui contiennent "au moins" un des deux termes.

Peut-être une nouvelle version permettra-t-elle un jour de fixer des droits sur des associations de termes ?

En espérant avoir été assez clair, et que mon problème, et sa solution aide quelqu'un d'autre !

@++, Stef.