Je continue ma petite série d’articles sur Laravel et j’essaye de couvrir tous les petits cas de figure qui pourraient être utile à ceux qui passent ici. Il y a beaucoup de choses à raconter sur Laravel et cette fois, je vais à nouveau vous parler d’authentification avec une petite fonctionnalité bien intéressante.
Ce qui est bien avec Laravel, c’est qu’il nous simplifie tellement la vie. En quelques lignes, il est possible de faire beaucoup de choses. Dans un précédent article, je vous avais déjà parlé d’authentification avec la mise en place d’un système très simple. Une fois que c’est fait, vous allez donc avoir par défaut, cette route dans votre fichier routes/web.php :
Auth::routes();
Cela fonctionne très bien sauf que dans certains cas, vous pouvez avoir besoin de potentiellement bloquer l’inscription de nouveaux utilisateurs. Il peut y avoir de nombreuses à cela. Par exemple pour le cas d’une application de test, mais déjà qui est déjà en ligne. Une application ou c’est seulement l’administrateur qui peut créer de nouveaux utilisateurs, dans le cadre d’une maintenance avec des changements sur la base donnée, et les autres raisons peuvent être nombreuses.
Je vous disais au-dessus que j’apprécie Laravel pour ce genre de choses. Plutôt que d’aller bricoler des fichiers, il est possible de bloquer très facilement les nouvelles inscriptions dans ce fichier routes/web.php. Pour empêcher l’inscription de nouveaux utilisateurs, vous pouvez modifier la ligne précédente de façon suivante :
Auth::routes(['register' => false]);
Il est aussi possible d’utiliser le fichier .env pour ne plus avoir besoin de toucher le code à l’avenir et de pouvoir gérer ça à l’aide d’une variable. Pour cela rien de plus simple, on va créer une nouvelle variable dans le fichier .env :
ALLOW_REGISTRATION=true
Notre fichier de route va donc maintenant contenir :
if (env('ALLOW_REGISTRATION', false)) {
Auth::routes();
} else {
Auth::routes(['register' => false]);
}
Vous pouvez maintenant facilement bloquer ou autoriser les nouvelles inscriptions sur votre application Laravel. Ce n’est pas un cas de figure courant, mais il est bon se savoir que c’est facilement possible et rapide à mettre en place. Amusez-vous bien avec Laravel !