Recentemente, comecei a usar o laravel 5.3 para escrever um blog, mas tenho uma pergunta após a execução php artisan make:auth
quando eu executo isso, ele gera rotas no meu web.php
este é o código:
Auth::routes();
Route::get('/home', 'HomeController@index');
Então eu corro php artisan route:list
, encontro muitas ações, como LoginController @ login ...
Mas não encontrei essas ações no meu App\Http\Controllers\Auth
, onde estão?
E também qual é o Auth::routes()
significado, não consigo encontrar as rotas sobre o Auth.
Preciso de ajuda de alguém, obrigado a responder minha pergunta
php
laravel
laravel-5
laravel-5.3
g1eny0ung
fonte
fonte
Respostas:
Auth::routes()
é apenas uma classe auxiliar que ajuda a gerar todas as rotas necessárias para a autenticação do usuário. Você pode procurar o código aqui https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php .Aqui estão as rotas
fonte
Auth
é uma fachada e será definida emconfig/app.php
Você encontrará a classe que atua como seu provedor nesse arquivo de configuração.NotFoundHttpException in RouteCollection.php line 161:
, mas está recebendo:, e outra API está funcionando bem.$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
Não é possível executar aAuth
APIAqui estão o Laravel 5.7 , o Laravel 5.8 , o Laravel 6.0 e o Laravel 7.0 (observe uma pequena alteração bc no 6.0 da rota de verificação de email).
Você pode verificar estas rotas aqui:
fonte
'email/verify/{id}/{hash}'
. Caso contrário, o hash não poderá ser verificado e será gerado um erro 403 dizendo "Esta ação não é autorizada".Rotas de autenticação para o Laravel 5.3, em vez de Auth :: routes (). Espero que ajude...
Portanto, se você alterar alguns nomes dessas rotas, lembre-se de alterar também as visualizações das ações das postagens!
fonte
Para o Laravel 5.5.x
fonte
ordem de chamada da função:
é rota assim:
fonte
Auth::routes()
- a fachada Auth - recupera aRouter
instância do objeto do contêiner do Laravel e chama seu método pré-existenteauth
.auth
por sua vez, define as rotas e seus respectivos controladores que foram gerados porphp artisan make:auth
. É isso.Isso funcionou para mim com o Laravel 5.6 .
No arquivo
web.php
, basta substituir:De:
E remova o link Register nos dois arquivos abaixo:
fonte
Se você está pesquisando essas mesmas rotas para a versão laravel 7, encontrará aqui
Vendor/laravel/ui/src/AuthRouteMethods.php
fonte
Estou surpreso que ninguém tenha mencionado o comando
php artisan route:list
, que fornece uma lista de todas as rotas de aplicativos registradas (incluindoAuth::routes()
ePassport::routes()
se registradas)fonte
a classe loginuser usa uma característica chamada
AuthenticatesUsers
se você abrir essa característica, verá as funções (isso se aplica a outros controladores)
Illuminate\Foundation\Auth\AuthenticatesUsers;
aqui está o código de característica https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php
desculpe pelo formato ruim, estou usando meu telefone
também
Auth::routes()
chama apenas uma função que retorna as rotas de autenticação que é isso (eu acho)fonte
vendor\laravel\src\Illuminate\Foundation\Auth\ResetsPasswords
, se você quer mudar este ou algo assim, a mudança não faça isso, basta adicionar o mesmo método para controlador ur e depois alterá-lo,