Recientemente empiezo a usar laravel 5.3 para escribir un blog, pero tengo una pregunta después de ejecutar php artisan make:auth
cuando ejecuto esto, generará rutas en mi web.php
Este es el código que contiene:
Auth::routes();
Route::get('/home', 'HomeController@index');
Luego corro php artisan route:list
, encuentro muchas acciones, como LoginController @ login ...
Pero no encontré estas acciones en mi App\Http\Controllers\Auth
, ¿dónde están?
Y también cuál es el Auth::routes()
soporte, no puedo encontrar las rutas sobre Auth.
Necesito ayuda de alguien, gracias por responder mi pregunta.
php
laravel
laravel-5
laravel-5.3
g1eny0ung
fuente
fuente
Respuestas:
Auth::routes()
es solo una clase auxiliar que le ayuda a generar todas las rutas necesarias para la autenticación de usuarios. Puede explorar el código aquí https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php lugar.Aquí están las rutas.
fuente
Auth
es una fachada y se definirá enconfig/app.php
Encontrarás la clase que actúa como su proveedor en ese archivo de configuración.NotFoundHttpException in RouteCollection.php line 161:
y otra API está funcionando bien.$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
no es capaz de ejecutar laAuth
APIAquí están Laravel 5.7 , Laravel 5.8 , Laravel 6.0 y Laravel 7.0 (tenga en cuenta un pequeño cambio de CC en 6.0 a la ruta de verificación de correo electrónico).
Puede verificar estas rutas aquí:
fuente
'email/verify/{id}/{hash}'
. De lo contrario, el hash no se puede verificar y se generará un error 403 que dice "Esta acción no está autorizada".Rutas de autenticación para Laravel 5.3 en lugar de Auth :: routes (). Espero que ayude...
Entonces, si cambia algunos nombres de estas rutas, recuerde también cambiar en las vistas las acciones de las publicaciones.
fuente
Para Laravel 5.5.x
fuente
orden de llamada de función:
es una ruta como esta:
fuente
Auth::routes()
- la fachada Auth - recupera laRouter
instancia del objeto del contenedor Laravel y llama a su método preexistenteauth
.auth
a su vez define las rutas y sus respectivos controladores que fueron generados porphp artisan make:auth
. Eso es todo.Esto funcionó para mí con Laravel 5.6 .
En el archivo
web.php
, simplemente reemplace:Por:
Y elimine el enlace Registrarse en los dos archivos a continuación:
fuente
Si está buscando estas mismas rutas para la versión laravel 7, la encontrará aquí
Vendor/laravel/ui/src/AuthRouteMethods.php
fuente
Me sorprende que nadie haya mencionado el comando
php artisan route:list
, que proporciona una lista de todas las rutas de aplicaciones registradas (incluidasAuth::routes()
yPassport::routes()
si están registradas)fuente
la clase loginuser usa un rasgo llamado
AuthenticatesUsers
si abre ese rasgo, verá las funciones (esto se aplica a otros controladores)
Illuminate\Foundation\Auth\AuthenticatesUsers;
aquí está el código de rasgo https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php
perdón por el mal formato, estoy usando mi teléfono
También
Auth::routes()
solo llama a una función que devuelve las rutas de autenticación (eso creo)fuente
vendor\laravel\src\Illuminate\Foundation\Auth\ResetsPasswords
, si desea cambiar esto o algo, no cambie esto, simplemente agregue el mismo método a su controlador y luego cámbielo,