Я хочу удалить логин по маршруту, не мешая моему логину, Laravel 7 - PullRequest
0 голосов
/ 28 мая 2020

Я использовал контроллеры аутентификации для входа в / admin, но я хочу удалить маршрут, который идет в / login, но если я попробую, это даст мне эту ошибку:

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException Метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD. http://casarelvas.test/admin

и мой веб. php выглядит так:

Route::get('/admin', function () {
    return view('login');
})->name('login');

, но если я позволю им работать с моим администратором (логином) когда я go for / login выдает мне эту ошибку, потому что я удалил файлы лезвий, потому что они мне не нужны:

Facade \ Ignition \ Exceptions \ ViewException View [layouts.app] не найден. (Просмотр: C: \ laragon \ www\casarelvas \ resources \ views \ auth \ login.blade. php) http://casarelvas.test/login

(тоже бывает когда я выхожу из системы)

и мой веб. php выглядит так:

Route::get('/admin', function () {
    return view('login');
})->name('login');
Auth::routes();
Auth::routes(['register' => false]);

возможно, решение состоит в том, чтобы скрыть маршрут и сделать / войти в систему с ошибкой 404

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

В vendor / ui / auth-backend / AuthenticatesUsers. php вы можете изменить это:

    public function showLoginForm()
    {
        return view('auth.login');
    }

Итак, я решил свой вопрос, изменив его на это:

    public function showLoginForm()
    {
        abort(404);
    }

И оставайтесь с сетью. php вот так:

Route::get('/admin', function () {
    return view('login');
})->name('admin-login');
Auth::routes();
Auth::routes(['register' => false]);

Мне пришлось изменить имя, чтобы не мешать маршруту с именем login, который где-то зарегистрирован.

0 голосов
/ 28 мая 2020

Laravel не предоставляет прямого выхода для переопределения имени маршрута входа. Что вы можете сделать здесь:

Auth::routes();
Route::get('login', function () {
    abort(404);
});
Route::get('admin', 'Auth\LoginController@showLoginForm')
    ->name('login');
...