Nous avons configuré un site dans Drupal 7 sur lequel nous aimerions que certains utilisateurs aient accès à la page de gestion des utilisateurs, et puissent créer de nouveaux utilisateurs, attribuer des rôles, etc., mais nous ne voulons pas leur donner accès à la Pages Rôles et autorisations.
Drupal n'a actuellement que 2 autorisations Administer Permissions
et Administer users
.
Avec l' Administer users
autorisation, l'utilisateur a accès à la page Gestion des utilisateurs et peut créer de nouveaux utilisateurs mais ne peut pas attribuer de rôles aux utilisateurs.
Si l'utilisateur a l' Administer permissions
autorisation, il peut attribuer des rôles aux utilisateurs et également accéder aux pages d'autorisation et de gestion des rôles.
Comment accorderiez-vous à un utilisateur le droit d'attribuer des rôles aux utilisateurs, mais l'empêcher d'accéder à la page d'autorisation?
Hmmm ... Intéressant qu'il ne semble pas y avoir de méthode claire pour le faire. Il semble que cela pourrait être une caractéristique courante pour les gens. J'ai trouvé quelques solutions:
http://drupal.org/project/protect_permissions - Cependant, ce n'est pas encore prêt pour une utilisation en production.
Cependant, je pense que vous pouvez accomplir ce que vous voulez avec: http://drupal.org/project/permissions_lock
Vous aurez également besoin de: http://drupal.org/project/user_permissions
Le dernier semble faire le contraire de ce que vous voulez, mais le premier semble faire exactement ce que vous voulez. Je n'ai testé ni l'un ni l'autre sur mon site de développement pour m'assurer que c'est à 100% ce qui fonctionnera pour vous. Si je tombe sur autre chose, je mettrai à jour cette réponse.
la source
La délégation des rôles laisse une faille de sécurité. Vous devez affecter des personnes aux administrateurs pour qu'ils puissent utiliser la page d'administration et les outils dont elle dispose.
Mais si vous le faites, ce rôle pourra modifier même le superadmin. Vérifiez Méfiez-vous de l'autorisation Administrer les utilisateurs de Drupal pour une description complète.
Ma solution est la délégation de rôles + ce crochet
la source
Dernièrement, nous utilisons le module roleassign , qui fait exactement ce que vous demandez. Il est fondamentalement identique au module role_delegation, mais pourrait être une alternative si vous aviez besoin de quelque chose de légèrement différent.
L'une des principales différences réside dans la manière dont vous décidez quels rôles sont disponibles à attribuer. Avec roleassign, il vous suffit de sélectionner ceux que vous souhaitez rendre disponibles, et il n'ajoute qu'une seule nouvelle autorisation pour attribuer ces rôles:
Le module role_delegation semble donner une nouvelle autorisation pour chaque rôle qui existe sur le site:
Le module role_delegation semble également avoir presque triplé le nombre d'installations et une version "recommandée" de Drupal 8. La file d'attente des problèmes semble également être en meilleure forme, c'est donc probablement la meilleure option?
la source