J'ai un utilisateur avec des droits de visualisation et de modification sur un type de contenu spécifique. Cela donne le privilège à tous les utilisateurs d'afficher et de modifier tous les nœuds de ce type. Mais en fait, je veux créer pour chaque utilisateur un nœud unique, afin que seul cet utilisateur puisse le voir et le modifier. Comment puis-je faire cela dans Drupal 7?
10
Réponses:
À l'aide d'un module existant, vous pouvez le faire avec Content Access , qui (lorsqu'il est utilisé ensemble ACL ) permet de définir les autorisations d'accès à un nœud pour chaque utilisateur.
Cela signifie que vous devez définir manuellement les autorisations d'accès pour chaque nœud.
Si vous créez manuellement les nœuds et que vous souhaitez vous assurer que seul l'utilisateur défini comme propriétaire du nœud est en mesure de le voir (et de le modifier), vous pouvez créer un module personnalisé (ce qui signifie un module qui est utilisé pour votre site), et implémentez
hook_node_access()
comme suit (le code a été écrit pour en faciliter la lecture):À l'aide de cette implémentation de hook, vous n'avez pas besoin de modifier manuellement les autorisations d'accès accordées pour chaque nœud de ce type de contenu que vous créez. Changer le propriétaire du nœud serait également plus facile, car vous n'avez pas besoin de modifier les autorisations d'accès de ce nœud; le code accorderait automatiquement les autorisations de mise à jour et d'affichage à l'utilisateur défini comme propriétaire (ou auteur) du nœud.
la source
Vous n'avez besoin d'aucun module spécial ou code personnalisé pour ce faire. Créez simplement manuellement ces nœuds, définissez les utilisateurs appropriés en tant que propriétaire (auteur) des nœuds et définissez les autorisations sur ce type de contenu pour modifier uniquement votre propre contenu (ne modifier aucun contenu de ce type) et vous avez terminé.
la source
Ce dont vous parlez, c'est du contrôle d'accès aux nœuds Drupal, qui est un sujet énorme.
La prise en charge intégrée du noyau pour le contrôle d'accès aux nœuds est plutôt évidente et pour contrôler l'accès pour afficher un nœud par rôle, vous devez utiliser une sorte de module de contrôle d'accès aux nœuds. Il y a une page sur Drupal.org listant tous les modules d'accès aux nœuds , avec une revue de capsule de chacun. Je vous suggère de jeter un œil à cette page pour voir si vous pouvez trouver un module approprié pour contrôler l'accès.
Le module Flexi Access semble être le module qui correspond le mieux à vos besoins, car sa fonction principale est de vous permettre de contrôler l'accès pour les utilisateurs individuels, plutôt que par rôle ou par terme de taxonomie.
Il s'agit d'un petit module qui vous permet de configurer des ACL (listes de contrôle d'accès) pour des utilisateurs individuels. Il s'agit essentiellement d'une interface utilisateur pour le module ACL , vous devez donc également l'installer.
Il manque certaines des fonctionnalités des modules de contrôle d'accès les plus avancés, tels que Content Access , mais il est activement maintenu et il n'y a actuellement aucun bogue ouvert dans sa file d'attente de problèmes.
Divulgation: je suis le responsable de Flexi Access.
la source