我使用auth控制器在/admin中登录,但是我想删除到/login的路由,但是如果我尝试它,就会出现以下错误:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException此路由不支持POST方法。支持的方法: GET,HEAD。http://casarelvas.test/admin
我的web.php看起来是这样的:
Route::get('/admin', function () {
return view('login');
})->name('login');
但是,如果我让他们到我的管理(登录)工作,当我去/login给我这个错误,因为我删除刀片文件,因为我不想要它:
未找到
外观\点火\异常\视图异常视图layouts.app。(查看: C:\laragon\www\casarelvas\resources\views\auth\login.blade.php) http://casarelvas.test/login
(当我退出时也会发生)
我的web.php看起来是这样的:
Route::get('/admin', function () {
return view('login');
})->name('login');
Auth::routes();
Auth::routes(['register' => false]);
也许解决方案是隐藏路由,并使/登录提供一个404错误
发布于 2020-05-28 10:04:30
在供应商/ui/auth-后端/AuthenticatesUsers.php上,您可以更改以下内容:
public function showLoginForm()
{
return view('auth.login');
}
所以我解决了我的问题,改为:
public function showLoginForm()
{
abort(404);
}
然后像这样和web.php呆在一起:
Route::get('/admin', function () {
return view('login');
})->name('admin-login');
Auth::routes();
Auth::routes(['register' => false]);
我不得不更改名称,以免干扰注册在某个地方的名为login的路由。
发布于 2020-05-28 03:11:08
Laravel没有提供直接wayout来覆盖登录路由名。你在这里能做的是:
Auth::routes();
Route::get('login', function () {
abort(404);
});
Route::get('admin', 'Auth\LoginController@showLoginForm')
->name('login');
https://stackoverflow.com/questions/62055818
复制相似问题