Submitted by Zigazou on
Ce message n'est pas écrit dans l'intention de demander de l'aide mais seulement dans le but de faire partager quelques connaissances sur les droits d'accès de Drupal (4.7.x).
- Le premier utilisateur (le numéro 1, qu'importe son nom) créé n'a aucune limitation de droit d'accès.
- Les rôles "anonymous user" et "authenticated user" sont spéciaux, ils sont automatiquement attribués aux utilisateurs.
- Si un utilisateur n'est pas identifié, il obtient le rôle "anonymous user".
- Si un utilisateur est identifié, quels que soient les rôles qui lui sont affectés, il obtiendra également le rôle "authenticated user", mais pas le rôle "anonymous user" !
En conséquence, si vous attribuez un droit à "anonymous user" et à aucun autre rôle, les utilisateurs identifiés n'auront pas ce droit.
Enfin, je tenais juste à signaler un bug du module node, sur node/add, la page affiche tous les contenus et pas seulement ceux que l'utilisateur peut créer. Plus d'information et les patchs (4.7.4, 4.7.5 et 4.7.6) sur http://drupal.org/node/92265.
Concernant ce dernier bug,
Permalien Soumis par Damien Tournoud le 30 Janvier, 2007 - 16:54
Concernant ce dernier bug, je ne vois pas en quoi il y a un bug :
node_access('create', $type)
fait appel àmodule_invoke(node_get_base($type), 'access', 'create', $type)
, comme prévu. Par contre, si l'utilisateur a le droit'administer nodes'
, il voit et peut créer n'importe quel type de node.Pour moi il n'y a pas de bug (en tout cas en regardant le code source).
Oui, théoriquement. Sauf
Permalien Soumis par Zigazou le 30 Janvier, 2007 - 17:44
Oui, théoriquement.
Sauf que ça ne fonctionne pas comme ça devrait ! ;-)
J'ai rencontré le problème sur le site que je développe. Le contenu affiche tous les types de noeuds, quel que soit le rôle de l'utilisateur. Par contre le menu système "Créer un contenu" n'affiche que les noeuds que l'utilisateur peut créer (comme on s'y attend).
Comment est-ce que tu
Permalien Soumis par Damien Tournoud le 30 Janvier, 2007 - 18:09
Comment est-ce que tu distingue les droits d'accès par type de noeud ?
Je crée mes types de noeuds
Permalien Soumis par Zigazou le 30 Janvier, 2007 - 18:37
Je crée mes types de noeuds avec CCK.
Pour chaque type créé, CCK ajoute de nouveaux droits d'accès. Par exemple pour un type "brève", CCK ajoute les droits :
Cela permet de sélectionner quels rôles peuvent créer et modifier quels types de noeuds.
J'ai testé sur Drupal 5,
Permalien Soumis par Damien Tournoud le 30 Janvier, 2007 - 18:54
J'ai testé sur Drupal 5, cela fonctionne parfaitement.
J'en ai profité pour regarder s'il n'y avait pas un problème du coté de CCK, mais tout m'a l'air correct.
La dernière chose que je vois, c'est que la permission 'administer nodes' donne le droit de créer tout type de contenu. Es-tu sûr que tes utilisateurs n'ont pas cette permission?
Absolument certain ! Comme
Permalien Soumis par Zigazou le 30 Janvier, 2007 - 18:58
Absolument certain !
Comme je le disais, le menu système n'affichait que les types de noeuds pouvant être créés par l'utilisateur mais pas la page node/add.
J'ai d'ailleurs essayé de cliquer sur un des noeuds proposés par la page node/add avant patch, et je tombe sur une page indiquant que l'utilisateur n'a pas les droits suffisants.
Pour info, je suis actuellement sous Drupal 4.7.
Bizarre, j'ai développé
Permalien Soumis par drupalfrance le 30 Janvier, 2007 - 19:02
Bizarre, j'ai développé des sites avec des nodes CCK et Drupal 4.7.x et la page node/add affiche uniquement les nodes que l'utilisateur en cours peut créer.
Cela dit, j'ai mis à jour régulièrement mes install de Drupal, peut être que ça vient d'une des premières version (4.7.1 ? 4.7.2 ? ...)
J'ai peut-être une
Permalien Soumis par Zigazou le 30 Janvier, 2007 - 20:25
J'ai peut-être une utilisation particulière de Drupal qui ne doit pas passer.
Entre autres choses je vide le cache menu avant l'affichage de mes pages car les alias d'URL ne sont pas toujours remplacés correctement (en gros j'obtenais des liens node/99999 au lieu d'obtenir l'alias que j'avais défini, mais pas de manière systématique, or mon thème se base dessus).
J'ai commencé Drupal à la 4.7.3 et l'ai upgradé à chaque version.
La page de selection des
Permalien Soumis par Damien Tournoud le 30 Janvier, 2007 - 20:33
La page de selection des noeuds (accessible par node/add) est en fait gérée directement par le système de menus. Le système de menu n'a peut être pas intégré des changements. Est-ce que se rendre sur la page de menus ne résoudrait pas le problème?
@Zigazou
Je ne vois pas comment le patch proposé dans #92265 pourrait résoudre le problème. Le résout-il vraiment?
Je n'ai pas cherché à
Permalien Soumis par Zigazou le 30 Janvier, 2007 - 20:51
Je n'ai pas cherché à approfondir pour tout te dire. Toujours est-il que sans le patch #92265, je vois tous les types de noeuds sur node/add, avec le patch je ne vois que les noeuds que l'utilisateur peut créer.
Tu dis que node/add est gérée directement pas le système de menus ? Pourtant je l'ai vue dans node.module ?
En recherchant un peu, ton
Permalien Soumis par Damien Tournoud le 30 Janvier, 2007 - 21:02
En recherchant un peu, ton problème est un duplicate de #44298. Je crois que mon analyse était exacte, tu dois avoir le privilège 'administer nodes' activé quelque part.
Tout juste
Permalien Soumis par Zigazou le 30 Janvier, 2007 - 23:51
Bien vu, rien à dire, well done :-)
Aïe, pas taper, pas taper !
Mea grosse culpa
M'enfin c'est quand même bizarroïde comme schmurtz ;-)
Et encore merci
:)
Permalien Soumis par Damien Tournoud le 31 Janvier, 2007 - 10:06
:)
A l'aide !
Permalien Soumis par millesabords le 19 Mars, 2007 - 18:39
Bonjour,
J'ai effacé par erreur les rôles "anonymous user" et "authenticated user" depuis phpMyAdmin car le module LDAP intégration m'avais importé des centaines de rôles dont je voulais me débarasser.
Comment les recréér. Si je le fais à la main en redonnant les noms d'origine, ca ne résoud rien.
Qu'ont ils de particulier ?
Merci par avance