Я пытаюсь реализовать базовую систему аутентификации, используя только встроенные функции Laravel.Система работает, но только если я назначаю имя маршруту / admin / login [т.е. ...-> name ('admin.login)].Если я возьму его, я получу следующее исключение:
ErrorException (E_ERROR) Route [login.admin] не определено.(Просмотр: /var/www/html/shop/resources/views/auth/login.blade.php)
В прошлом я мог посещать безымянные маршруты, и я могу посетитьдругие безымянные маршруты кроме /login/admin
.Я надеялся, что кто-нибудь скажет мне, почему я получаю ошибку.
Маршруты
Auth::routes();
Route::get('/login/admin', 'Auth\LoginController@showAdminLoginForm')->name('login.admin');
Route::get('/login/staff', 'Auth\LoginController@showStaffLoginForm');
Route::get('/register/admin', 'Auth\RegisterController@showAdminRegisterForm');
Route::get('/register/staff', 'Auth\RegisterController@showStaffRegisterForm');
$ url может иметь 2 значения: admin или staff.
страница блейд-логина
@isset($url)
<form method="POST" action="{{ route('login.'.$url) }}">
@else
<form method="POST" action="{{ route('login') }}">
@endisset
Команда routes:list
также показывает, что маршрут существует, только без имени.
| | GET|HEAD | login/admin | | App\Http\Controllers\Auth\LoginController@showAdminLoginForm | web,guest,guest:admin,guest:staff |
| | POST | login/admin | | App\Http\Controllers\Auth\LoginController@adminLogin | web,guest,guest:admin,guest:staff |
| | GET|HEAD | login/writer | | App\Http\Controllers\Auth\LoginController@showWriterLoginForm | web,guest,guest:admin,guest:staff |
| | POST | login/writer | | App\Http\Controllers\Auth\LoginController@writerLogin | web,guest,guest:admin,guest:staff |