Les rôles et les droits

Contributeurs

Statut du tutoriel : 

À jour

Catégorie du tutoriel : 

Niveau du tutoriel : 

Afin de protéger votre contenu et de n’autoriser certaines actions que pour certaines personnes, Drupal propose deux fonctionnalités intéressantes : les rôles et les droits. À chaque utilisateur vous associez un ou plusieurs rôles. À chaque rôle, vous pouvez affecter un certain nombre de droits.

Les rôles

Il existe trois rôles par défaut dans Drupal :

  • Utilisateur anonyme : n’importe quel internaute. Il dispose des droits minimums car ce n’est pas une personne de confiance.
  • Utilisateur authentifié : c’est un internaute qui a un compte sur votre site. Il a plus de droits qu’un utilisateur anonyme et par exemple, il peut laisser des commentaires avec son nom. Ce n’est en général pas une personne de confiance car en général, la création de compte est autorisé pour tous. Vous trouverez plus d’informations sur la gestion de la création de compte ici.
  • Administrateur : c’est le grand patron. Il peut tout faire (et donc tout casser). A priori, si vous lisez ce tuto c’est que vous êtes administrateur.

L’idée des rôles est donc de donner à chaque utilisateur un rôle approprié, avec juste les droits qu’il faut. Par exemple, si sur votre site un utilisateur est ammené à souvent rédiger des articles, il ne peut être ni anonyme ni authentifié. Lui donner le rôle administrateur est surfait, il ne doit qu’écrire du contenu. Il faut donc créer un nouveau rôle, Rédacteur par exemple. Comment créer un nouveau rôle ? Rien de plus simple, suivez les étapes ci-dessous :

  • Allez dans Menu d’administration : Personnes > Droits > Rôles
  • Entrez le nom du rôle dans la case du bas, par exemple Rédacteur
  • Cliquez sur Ajouter un rôle pour confirmer

Pour donner un rôle à utilisateur, aller dans Menu d’administration : Personnes. Sélectionnez les utilisateurs auquels vous voulez affecter le rôle. Puis dans la liste Mettre à jour les options sous l’intitulé Ajouté un rôle aux utilisateurs selectionner choisissez le rôle à donner. Procéder de même pour retirer un rôle.

Voilà, vous savez ajouter un rôle. Maintenant, il faut lui donner les bons droits. C’est l’objectif de la partie suivante.

Les droits

À chaque rôle nous devons associer les droits qui lui permettront de faire ce qu’il doit faire et rien de plus ! Pour modifier les droits, allez dans Menu d’administration > Personnes > Droits.

Dans la colonne de gauche, vous avez le nom de tous les droits disponibles. Des droits peuvent être ajoutés lorsque vous ajoutez certains modules. Dans les colonnes de droite, sous chaque rôle vous avez des cases, qui sont cochées si le rôle a le droit correspondant. Seul le rôle Administrateur doit avoir les droits d’adiministration. Il ne vous reste plus qu’à cocher les droits que votre rôle doit avoir. Dans notre exemple, Article : Créer un nouveau contenu dans la section Node.

Vous pouvez remarquer que si un droit est donné à l’utilisateur anonyme (c’est-à-dire n’importe qui), alors tous les autres rôles ont ce droit. De même pour les rôles que vous allez créer et utilisateurs authentifiés. C’est à rapprocher de l’héritage en programmation.

Personnes de confiance

Grâce à ce système de rôle et de droits, vous êtes capables de ne donner à vos utilisateurs uniquement les droits qu’ils doivent avoir. Plus vous donnez de droits à un utilisateur, plus il peut faire de choses de son propre chef. N’affecter donc les droits les plus sensibles qu’aux rôles des personnes de confiance.

Cela est également vrai pour les balises html autorisées. FilteredHTML n’autorise qu’une partie des balises, celles qui ne présentent aucun risque pour votre site. Vous pouvez laisser tous vos utilisateurs l’utilisé. FullHTML en revanche autorise toutes les balises ce qui présente un risque. Vous ne devez autoriser le texte FullHTML qu’aux personnes que vous connaissez et dont vous êtes sûrs qu’elles ne sont pas animées d’intensions malveillantes pour votre site.

Gestion fine des droits

Il est également possible d’avoir une gestion très fine des droits. Par exemple, si vous désirez qu’un rôle puisse éditer un type de contenu mais pas un champ de ce type de contenu. Eh bien c’est possible.

  1. Activez tout d’abord le module "Field Permissions".
  2. Allez dans Menu d’administration : Repports > Fields list. Vous avez alors accès à la liste des champs.
  3. Allez dans l’onglet Droits. Dans la ligne du champ dont vous désirez modifier les permissions, cliquez sur le type de contenu pour lequel vous désirez les modifier.
  4. Allez dans la section Paramètres du champ et cliquez sur la puce Droits personnalisés. Vous n’avez plus qu’à donner les bons droits aux bons rôles.