wake-up-neo.com

laravel 5.3 neue Auth :: routes ()

Vor kurzem habe ich angefangen, laravel 5.3 zu verwenden, um ein Blog zu schreiben, aber ich habe nach dem Ausführen eine Frage php artisan make:auth

wenn ich dies ausführe, werden Routen in meinem web.php generiert.

das ist der Code darin:

Auth::routes();

Route::get('/home', '[email protected]');

Dann starte ich php artisan route:list, ich finde viele Aktionen, wie LoginController @ login ...

Aber ich habe diese Aktionen in meinem App\Http\Controllers\Auth nicht gefunden, wo sind diese?

Und auch wofür steht Auth::routes(), ich kann die Routen über Auth nicht finden.

Ich brauche jemanden, der mir hilft. Danke, dass Sie meine Frage beantworten

105
g1eny0ung

Auth::routes() ist nur eine Hilfsklasse, mit deren Hilfe Sie alle für die Benutzerauthentifizierung erforderlichen Routen generieren können. Sie können den Code hier durchsuchen https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php stattdessen.

Hier sind die Routen

// Authentication Routes...
$this->get('login', 'Auth\[email protected]')->name('login');
$this->post('login', 'Auth\[email protected]');
$this->post('logout', 'Auth\[email protected]')->name('logout');

// Registration Routes...
$this->get('register', 'Auth\[email protected]')->name('register');
$this->post('register', 'Auth\[email protected]');

// Password Reset Routes...
$this->get('password/reset', 'Auth\[email protected]');
$this->post('password/email', 'Auth\[email protected]');
$this->get('password/reset/{token}', 'Auth\[email protected]');
$this->post('password/reset', 'Auth\[email protected]');
179
Lee

Routen authieren für Laravel 5.3 statt Auth :: routes (). Ich hoffe, es hilft...

Route::group(['middleware' => ['web']], function() {

// Login Routes...
    Route::get('login', ['as' => 'login', 'uses' => 'Auth\[email protected]']);
    Route::post('login', ['as' => 'login.post', 'uses' => 'Auth\[email protected]']);
    Route::post('logout', ['as' => 'logout', 'uses' => 'Auth\[email protected]']);

// Registration Routes...
    Route::get('register', ['as' => 'register', 'uses' => 'Auth\[email protected]']);
    Route::post('register', ['as' => 'register.post', 'uses' => 'Auth\[email protected]']);

// Password Reset Routes...
    Route::get('password/reset', ['as' => 'password.reset', 'uses' => 'Auth\[email protected]']);
    Route::post('password/email', ['as' => 'password.email', 'uses' => 'Auth\[email protected]']);
    Route::get('password/reset/{token}', ['as' => 'password.reset.token', 'uses' => 'Auth\[email protected]owResetForm']);
    Route::post('password/reset', ['as' => 'password.reset.post', 'uses' => 'Auth\[email protected]']);
});

Wenn Sie also einige Namen dieser Routen ändern, denken Sie daran, auch die Aktionen der Posts in den Ansichten zu ändern!

44
Walter Pozzguo

Hier ist Laravel 5.7 und Laravel 5.8 (keine Änderung) einschließlich Überprüfungsrouten , wenn Sie auch diese einbeziehen möchten.

// Authentication Routes...
Route::get('login', 'Auth\[email protected]')->name('login');
Route::post('login', 'Auth\[email protected]');
Route::post('logout', 'Auth\[email protected]')->name('logout');

// Registration Routes...
Route::get('register', 'Auth\[email protected]')->name('register');
Route::post('register', 'Auth\[email protected]');

// Password Reset Routes...
Route::get('password/reset', 'Auth\[email protected]')->name('password.request');
Route::post('password/email', 'Auth\[email protected]')->name('password.email');
Route::get('password/reset/{token}', 'Auth\[email protected]')->name('password.reset');
Route::post('password/reset', 'Auth\[email protected]')->name('password.update');

// Email Verification Routes...
Route::get('email/verify', 'Auth\[email protected]')->name('verification.notice');
Route::get('email/verify/{id}', 'Auth\[email protected]')->name('verification.verify');
Route::get('email/resend', 'Auth\[email protected]')->name('verification.resend');

Sie können diese Routen hier überprüfen:

22
zyglobe

Für Laravel 5.5.x

// Authentication Routes...
$this->get('login', 'Auth\[email protected]')->name('login');
$this->post('login', 'Auth\[email protected]');
$this->post('logout', 'Auth\[email protected]')->name('logout');

// Registration Routes...
$this->get('register', 'Auth\[email protected]')->name('register');
$this->post('register', 'Auth\[email protected]');

// Password Reset Routes...
$this->get('password/reset', 'Auth\[email protected]')->name('password.request');
$this->post('password/email', 'Auth\[email protected]')->name('password.email');
$this->get('password/reset/{token}', 'Auth\[email protected]')->name('password.reset');
$this->post('password/reset', 'Auth\[email protected]');
14
Farid Movsumov

funktionsaufrufreihenfolge:

  1. (Auth) Illuminate\Support\Facades\Auth @ routes ( https://github.com/laravel/framework/blob/5.3/src/Illuminate/Support/Facades/Auth.php )
  2. (App) Illuminate\Foundation\Application @ auth
  3. (Route) Illuminate\Routing\Router

die Route ist wie folgt:

public function auth()
{
    // Authentication Routes...
    $this->get('login', 'Auth\[email protected]');
    $this->post('login', 'Auth\[email protected]');
    $this->get('logout', 'Auth\[email protected]');
    // Registration Routes...
    $this->get('register', 'Auth\[email protected]');
    $this->post('register', 'Auth\[email protected]');
    // Password Reset Routes...
    $this->get('password/reset/{token?}', 'Auth\[email protected]');
    $this->post('password/email', 'Auth\[email protected]');
    $this->post('password/reset', 'Auth\[email protected]');
}
7
SilentCat

Das hat bei mir mit Laravel 5.6 geklappt.

Ersetzen Sie in der Datei web.php einfach:

Auth::routes();

Durch:

//Auth::routes();
// Authentication Routes...
Route::get('admin/login', 'Auth\[email protected]')->name('login');
Route::post('admin/login', 'Auth\[email protected]');
Route::post('admin/logout', 'Auth\[email protected]')->name('logout');
// Password Reset Routes...
Route::get('password/reset', 'Auth\[email protected]')->name('password.request');
Route::post('password/email', 'Auth\[email protected]')->name('password.email');
Route::get('password/reset/{token}', 'Auth\[email protected]')->name('password.reset');
Route::post('password/reset', 'Auth\[email protected]');

Und entfernen Sie den Link Register in den beiden folgenden Dateien:

welcome.blade.php
layouts/app.blade.php
6
maxagaz

die Klasse loginuser verwendet eine Eigenschaft namens AuthenticatesUsers.

wenn Sie dieses Merkmal öffnen, werden die Funktionen angezeigt (dies gilt für andere Controller). Illuminate\Foundation\Auth\AuthenticatesUsers;

hier ist der Trait Code https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php

entschuldigung für das schlechte Format, ich benutze mein Handy

auch Auth::routes() ruft nur eine Funktion auf, die die Auth-Routen zurückgibt, die es ist (glaube ich)

0
Achraf Khouadja

Ich bin überrascht, dass niemand den Befehl php artisan route:list erwähnt hat, der eine Liste aller registrierten App-Routen enthält (einschließlich Auth::routes() und Passport::routes(), falls registriert).

0
Shay