Вы можете добавить промежуточное ПО ко всему файлу web.php
маршрута, добавив промежуточное ПО в отображение маршрутов в RouteServiceProvider
.
Перейти к app/Providers/RouteServiceProvider.php
и в mapWebRoutes()
, изменить middleware('web')
на middleware(['web', 'auth'])
:
protected function mapWebRoutes()
{
Route::middleware(['web', 'auth'])
->namespace($this->namespace)
->group(base_path('routes/web.php'));
}
Создать новый метод mapAuthRoutes()
:
protected function mapAuthRoutes()
{
Route::middleware('web')
->namespace('App\Http\Controllers\Auth')
->group(base_path('routes/auth.php'));
}
Отобразите это на карте:
public function map()
{
$this->mapAuthRoutes(); // <-- add this
$this->mapWebRoutes();
...
}
Создайте файл auth.php
в папке routes
, затем вставьте следующее (и удалите ненужные файлы):
<?php
use Illuminate\Support\Facades\Route;
Route::get('login', 'LoginController@showLoginForm')->name('login');
Route::post('login', 'LoginController@login')->name('login');
Route::post('logout', 'LoginController@logout')->name('logout');
Route::get('register', 'RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'RegisterController@register')->name('register');
Route::get('password/reset', 'ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'ResetPasswordController@reset')->name('password.update');
Route::get('email/verify', 'VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}', 'VerificationController@verify')->name('verification.verify');
Route::get('email/resend', 'VerificationController@resend')->name('verification.resend');
Теперь вы можете настроить все в 1 месте, например prefix
, name
, middleware
и namespace
.
Проверьте php artisan route:list
, чтобы увидеть результаты:)