为了账号安全,请及时绑定邮箱和手机立即绑定

我想删除路由登录而不干扰我的登录,Laravel 7

我想删除路由登录而不干扰我的登录,Laravel 7

PHP
Helenr 2023-04-21 10:06:26
我使用身份验证控制器在 /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 的路由。


查看完整回答
反对 回复 2023-04-21
?
波斯汪

TA贡献1811条经验 获得超4个赞

Laravel 不提供覆盖登录路由名称的直接途径。您可以在这里执行以下操作:


Auth::routes();

Route::get('login', function () {

    abort(404);

});

Route::get('admin', 'Auth\LoginController@showLoginForm')

    ->name('login');


查看完整回答
反对 回复 2023-04-21
  • 2 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信