Почему middleware блокирует страницы?
Использую вполне стандартный функционал. Использую два middleware по умолчанию: auth и guest. В файле app\Http\Kernel.php прописаны следующие строки:
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
...
];
Создал два контроллера для авторизации и регистрации: LoginController и RegisterController. В LoginController в конструкторе пишу такой код:
class LoginController extends Controller
{
public function __construct() {
$this->middleware('guest')->except('logout');
}
//Форма входа
public function login() {
return view('auth.login');
}
...
В контроллере RegisterController пишу:
// Контроллер регистрации пользователя
class RegisterController extends Controller
{
public function __construct() {
$this->middleware('guest');
}
// Форма регистрации
public function register() {
return view('auth.register');
}
...
В route/web.php пишу такой код:
Route::group([
'as' => 'auth.', // имя маршрута, например auth.index
'prefix' => 'auth', // префикс маршрута, например auth/index
], function () {
// Форма регистрации
Route::get('register', [RegisterController::class, 'register'])->name('register');
// Создание пользователя
Route::post('register', [RegisterController::class, 'create'])->name('create');
//Форма входа
Route::get('login', [LoginController::class, 'login'])->name('login');
// аутентификация
Route::post('login', [LoginController::class, 'autenticate'])->name('auth');
// выход
Route::get('logout', [LoginController::class, 'logout'])->name('logout');
});
Когда перехожу по адресу "сайт\public\auth\register" или "сайт\public\auth\login" ругается на несуществующую страницу. Почему так происходит? Кстати до этого все работало, а потом перестало. Когда закомментировал код в конструкторах RegisterController и LoginController на вышеупомянутые страницы стало переходить успешно, но при успешной авторизации юзер все равно видит контент страницы авторизации и регистрации. Как исправить ошибку?