我使用身份驗證控制器在 /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 時會給我這個錯誤,因為我刪除了刀片文件,因為我不想要它:未找到 Facade\Ignition\Exceptions\ViewException 視圖 [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]);也許解決方案是隱藏路由并 make / login 給出 404 錯誤
2 回答

九州編程
TA貢獻1785條經驗 獲得超4個贊
在 vendor/ui/auth-backend/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 的路由。

波斯汪
TA貢獻1811條經驗 獲得超4個贊
Laravel 不提供覆蓋登錄路由名稱的直接途徑。您可以在這里執行以下操作:
Auth::routes();
Route::get('login', function () {
abort(404);
});
Route::get('admin', 'Auth\LoginController@showLoginForm')
->name('login');
- 2 回答
- 0 關注
- 138 瀏覽
添加回答
舉報
0/150
提交
取消