Désactiver la réinitialisation du mot de passe dans Laravel

Désactiver la réinitialisation du mot de passe dans Laravel

  1. Objectifs

    • Être capable de désactiver la réinitialisation du mot de passe dans Laravel
  2. Présentation

    • La commande php artisan make: auth est utilisée pour créer de nouvelles applications. Il installera une vue de mise en page, des vues d’enregistrement et de connexion, ainsi que des routes pour tous les points de terminaison d’authentification.
    • Un HomeController sera également généré pour gérer les demandes post-connexion au tableau de bord de votre application.
    • Laravel est un Framework PHP open source conçu pour rendre le développement d’applications Web plus facile et plus rapide grâce à des fonctionnalités intégrées.
    • Ces fonctionnalités font partie de ce qui rend Laravel si largement utilisé par les développeurs Web. Entre autres, on cite le système d’authentification
    • Par défaut, la commande php artisan make:auth génère les pages de login/register Bootstrap, ainsi qu’un processus de réinitialisation du mot de passe oublié.
    • Mais il peut y avoir des moments où vous avez besoin de la partie authentification, mais vous ne voulez pas que les gens puissent s’inscrire sur votre site.
    • Il peut s’agir d’un back-end privé pour lequel vous souhaiterez créer des utilisateurs manuellement, ou vous pouvez disposer d’outils internes pour inviter de nouveaux utilisateurs.
    • Heureusement, il est assez facile de retirer l’enregistrement de l’échafaudage par défaut de Laravel.
    • Si vous avez déjà installé une application laravel, les routes d’authentification sont activées. Et vous souhaitez utiliser uniquement des routes d’authentification, pas des routes d’enregistrement. Donc, ici, dans cet article, je vais vous expliquer comment désactiver la route d’enregistrement par défaut de laravel.



  3. Réalisation

    • Méthode 1:
      • Mais si vous voulez désactiver cette fonctionnalité, et avoir un autre mécanisme pour récupérer les mots de passe, il y a un autre paramètre dans le fichier routes/web.php à ajouter:
      • Désactiver la réinitialisation du mot de passe dans Laravel

      • Si cela ne fonctionne pas, dans ForgotPasswordController, vous verrez qu’un trait SendsPasswordResetEmails est utilisé, en ce sens que vous trouverez la fonction showLinkRequestForm que vous pouvez remplacer:
      • Désactiver la réinitialisation du mot de passe dans Laravel

      • et remplacez-le par une redirection pour revenir en arrière, ou un 404, ou autre chose que vous voulez.
      • Vous n’aurez besoin que de définir la valeur du paramètre sur false dans la méthode Auth :: routes () comme étant donné ci-dessous.
      • Désactiver la réinitialisation du mot de passe dans Laravel

    • Méthode 2:
      • Dans cette méthode, nous créerons toutes les routes en utilisant la fonction d’authentification manuellement au lieu de les ajouter automatiquement par la méthode Auth :: routes ().
      • Donc, si vous utilisez Auth :: routes () dans le fichier routes/web.php, vous devrez le supprimer car nous n’avons pas besoin de route d’enregistrement. Nous allons créer tous les itinéraires manuellement et maintenant le fichier d’itinéraire ressemblera à ci-dessous.
      • /* Authentication Routes... */
        Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
        Route::post('login', 'Auth\LoginController@login');
        Route::post('logout', 'Auth\LoginController@logout')->name('logout');
          
        /* Registration Routes... */
        Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
        Route::post('register', 'Auth\RegisterController@register');
          
        /* Password Reset Routes... */
        Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
        Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
        Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
        Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update');
          
        /* Email Verification Routes... */
        Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
        Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify');
        Route::get('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');



Laisser un commentaire

Abonnez vous à notre chaîne YouTube gratuitement