it-swarm.com.ru

laravel 5.3 новый Auth :: route ()

Недавно я начал использовать laravel 5.3 для записи блога, но у меня возник вопрос после запуска php artisan make:auth

когда я запускаю это, он генерирует маршруты в моем web.php

это код в нем:

Auth::routes();

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

Затем я запускаю php artisan route:list и нахожу множество действий, например LoginController @ login ...

Но я не нашел эти действия в моем App\Http\Controllers\Auth, где они?

А также что означает Auth::routes(), я не могу найти маршруты об Auth.

Мне нужна помощь, спасибо, что ответили на мой вопрос

101
g1eny0ung

Auth::routes() - это просто вспомогательный класс, который помогает вам генерировать все маршруты, необходимые для аутентификации пользователя. Вы можете просмотреть код здесь https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php вместо этого.

Вот маршруты

// 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]');
170
Lee

Маршруты аутентификации для Laravel 5.3 вместо Auth :: route (). Я надеюсь, что это помогает...

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]']);
    Route::post('password/reset', ['as' => 'password.reset.post', 'uses' => 'Auth\[email protected]']);
});

Поэтому, если вы измените некоторые названия этих маршрутов, не забудьте также изменить представления сообщений!

44
Walter Pozzguo

Вот Laravel 5.7 и Laravel 5.8 (без изменений), включая маршруты проверки , если вы хотите включить их.

// 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');

Вы можете проверить эти маршруты здесь:

20
zyglobe

Для 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

порядок вызова функции:

  1. (Auth) Подсветка\Support\Facades\Auth @ маршруты ( https://github.com/laravel/framework/blob/5.3/src/Illuminate/Support/Facades/Auth.php )
  2. (App) Осветите\Foundation\Application @ аутентификации
  3. (Маршрут) Осветите\Routing\Router

это маршрут так:

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

Это сработало для меня с Laravel 5.6.

В файле web.php просто замените:

Auth::routes();

От:

//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]');

И удалите ссылку Регистрация в двух файлах ниже:

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

класс loginuser использует черту AuthenticatesUsers

если вы откроете эту черту, вы увидите функции (это относится к другим контроллерам) Illuminate\Foundation\Auth\AuthenticatesUsers;

вот код черты https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php

извините за плохой формат, я использую свой телефон

также Auth::routes() он просто вызывает функцию, которая возвращает маршруты аутентификации, которые его (я думаю)

0
Achraf Khouadja