我想在不干扰我的登录的情况下删除路由登录,Laravel 7



我使用身份验证控制器登录/admin,但我想删除转到/login 的路由,但如果我尝试这样做,这会给我这个错误:

Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 此路由不支持 POST 方法。支持的方法:GET、HEAD。 http://casarelvas.test/admin

我的网络.php看起来像这样:

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

但是如果我让它们在我的管理员(登录(工作时我去/login 会给我这个错误,因为我删除了刀片文件,因为我不想要它:

外观\点火\异常\视图异常 视图 [layouts.app] 未找到。(View: 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 错误

Laravel没有提供直接的出路来覆盖登录路由名称。你可以在这里做什么:

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

在 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 的路由。

相关内容

  • 没有找到相关文章

最新更新