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 :
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).
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.