Interdire l'accès anonyme sur un site Drupal

Dans certains cas on peut vouloir interdire l'accès en mode anonyme à un site Drupal : site complètement privé, ou site en test.

Plusieurs étapes permettent de faire cela simplement :

  • configurer les permissions pour supprimer l'accès au contenu aux visiteurs
  • rediriger les erreurs 403 (accès refusé) vers la page de login
  • modifier la page de login (optionnel)

Configuration des permissions

Via l'écran de gestion des permissions, (admin/people/permissions), supprimer l'accès au contenu pour les visiteurs anonymes :

Image

Redirection des accès refusés

Dans l'écran de configuration système (admin/config/system/site-information), mettre comme URL user/login pour les accès refusés (403).

Image

Ce paramétrage suffit maintenant à rediriger tous les accès non authentifiés vers la page de connexion.

Modification de la page de login

Si on veut aller plus loin et anonymiser la page de connexion (ou au contraire la rendre plus belle), on peut également la modifier.
Pour cela, il faut ajouter un fichier page--user--login.tpl.php, qui peut par exemple contenir :

<!-- Template pour la page de login -->
<div id="page" class="container login-page <?php print $classes; ?>">
      <div id="content-column" class="login-content">
           <h1 id="page-title"> Please Log In </h1>
            <!-- region: Main Content -->
            <?php if ($content = render($page['content'])): ?>
              <div id="content">
                <?php print $content; ?>
              </div>
            <?php endif; ?>
      </div>
</div><!-- //End #page, .container -->

Note : si on veut conserver une partie des informations des pages "normales", on peut partir sur la base du fichier page.tpl.php.

Attention : il ne faut pas oublier de vider le cache pour que le nouveau modèle de page soit pris en compte.

 

Catégorie