Récemment, j'ai commencé à utiliser laravel 5.3 pour écrire un blog, mais j'ai une question après l'exécution php artisan make:auth
quand je l'exécute, il générera des routes dans mon web.php
c'est le code qu'il contient:
Auth::routes();
Route::get('/home', 'HomeController@index');
Ensuite je cours php artisan route:list
, je trouve plein d'actions, comme LoginController @ login ...
Mais je n'ai pas trouvé ces actions dans mon App\Http\Controllers\Auth
, où sont-elles?
Et aussi à quoi sert le Auth::routes()
stand, je ne trouve pas les itinéraires sur Auth.
J'ai besoin de l'aide de quelqu'un, merci de répondre à ma question
php
laravel
laravel-5
laravel-5.3
g1eny0ung
la source
la source
Réponses:
Auth::routes()
est juste une classe d'assistance qui vous aide à générer toutes les routes requises pour l'authentification des utilisateurs. Vous pouvez parcourir le code ici https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php à la place.Voici les itinéraires
la source
Auth
est une façade et sera définie dansconfig/app.php
Vous trouverez la classe qui agit comme son fournisseur dans ce fichier de configuration.NotFoundHttpException in RouteCollection.php line 161:
:, et une autre API fonctionne bien.$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
impossible d'exécuter lesAuth
APIVoici Laravel 5.7 , Laravel 5.8 , Laravel 6.0 et Laravel 7.0 (notez un changement mineur en bc dans la version 6.0 de la route de vérification des e-mails).
Vous pouvez vérifier ces itinéraires ici:
la source
'email/verify/{id}/{hash}'
. Sinon, le hachage ne peut pas être vérifié et une erreur 403 sera lancée disant "Cette action n'est pas autorisée".Auth routes pour Laravel 5.3 à la place Auth :: routes (). J'espère que ça aide ...
Donc si vous changez certains noms de ces routes, pensez à changer également dans les vues les actions des posts!
la source
Pour Laravel 5.5.x
la source
ordre d'appel des fonctions:
c'est un itinéraire comme celui-ci:
la source
Auth::routes()
- la façade Auth - récupère l'Router
instance d'objet du conteneur Laravel et appelle sa méthode préexistanteauth
.auth
définit à son tour les routes et leurs contrôleurs respectifs générés parphp artisan make:auth
. Ça y est.Cela a fonctionné pour moi avec Laravel 5.6 .
Dans le fichier
web.php
, remplacez simplement:Par:
Et supprimez le lien S'inscrire dans les deux fichiers ci-dessous:
la source
Si vous recherchez ces mêmes itinéraires pour la version laravel 7, vous le trouverez ici
Vendor/laravel/ui/src/AuthRouteMethods.php
la source
Je suis surpris que personne n'ait mentionné la commande
php artisan route:list
, qui donne une liste de toutes les routes d'application enregistrées (y comprisAuth::routes()
etPassport::routes()
si elles sont enregistrées)la source
la classe loginuser utilise un trait appelé
AuthenticatesUsers
si vous ouvrez ce trait, vous verrez les fonctions (cela s'applique aux autres contrôleurs)
Illuminate\Foundation\Auth\AuthenticatesUsers;
voici le code de trait https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php
désolé pour le mauvais format, j'utilise mon téléphone
aussi
Auth::routes()
il appelle juste une fonction qui renvoie les routes d'authentification c'est tout (je pense)la source
vendor\laravel\src\Illuminate\Foundation\Auth\ResetsPasswords
, si vous voulez changer ceci ou quelque chose, ne changez pas cela, ajoutez simplement la même méthode à votre contrôleur, puis changez-le,