首页 文章

如何更改Laravel 5.2更改登录路由?

提问于
浏览
1

您好我使用的是Laravel 5.2版本 . 我通过作曲家安装了laravel项目 . 之后我使用命令 "php artisan make:auth" 来创建auth . 创建auth路由后生成例如 "http://localhost:8000/login" . 现在我不希望这条路线我想设置不同的路线,例如 "http://localhost:8000/super/admin" . 那么如何将 "http://localhost:8000/login" 更改为 "http://localhost:8000/super/admin" . 并且当auth生成时创建 /register 路由,以便路由我想要删除 "http://localhost:8000/register" 路由 . 请建议我如何做到这一点 . 提前致谢 .

3 回答

  • 2

    按照这些简单的步骤

    如果您的 routes.php 中有 Route::auth() ,请删除该行 .

    现在将以下行添加到 routes.php

    Route::get('super/admin', 'Auth\AuthController@getLogin')->name('auth.login.get');
    Route::post('super/admin', 'Auth\AuthController@postLogin')->name('auth.login.post');
    Route::get('super/admin/logout', 'Auth\AuthController@getLogout')->name('auth.logout.get');
    

    然后去 login.blade.php (最有可能在 resources->views->auth

    并将表单操作更改为 {{ route('auth.login.post') }} ,就像这样......

    <form action="{{ route('auth.login.post') }}" method="post">
    

    希望这回答一切:)

  • 0

    App\Http\Controllers\Auth\LoginController 中 - 将名为showLoginForm()的函数定义为:

    public function showLoginForm()
    {
        $view = property_exists($this, 'loginView')
            ? $this->loginView : 'auth.authenticate';
    
        if (view()->exists($view)) {
            return view($view);
        }
        return view('auth.login');
    }
    

    它会覆盖特征 Illuminate\Foundation\Auth\AuthenticatesUsers. 中定义的函数showLoginForm

    注意:在Laravel 5.3中,函数名称从getLogin更改为showLoginForm . For details goto Illuminate\Foundation\Auth\AuthenticatesUsers.

  • 0

    在routes文件中,您必须自己注册路由,而不是使用默认的 Route::auth() .

    我的建议是运行 php artisan route:list . 这将显示默认路由及其各自的控制器(和方法) . 然后,删除 Route::auth() 并手动实现所需的路由 .

    例如,如果要更改为登录URL,则必须将其定义为: Route::get('super/admin', 'App\Http\Controllers\Auth\AuthController@showLoginForm');

    对要替换的所有路由执行此操作 . 通过删除 Route::auth() ,您将删除注册路由 .

相关问题