如何更改默认的 Laravel 身份验证登录视图

2022-08-30 21:36:18

我正在尝试从Laravel Auth更改默认登录视图,早期的建议指向修改相应控制器内部的路径,在/vendor下。但是,这是一个合作项目,因此不能选择修改供应商文件。

默认情况下,身份验证登录的视图是 ,但我希望它是.auth.loginbackend.pages.login

我还能用什么其他方式完成此操作?

我也尝试过在路由器中手动添加视图路由,但无论我如何连接它,它都不会识别为一个类。Auth

注意:这是拉拉维尔5.3

提前致谢


答案 1

在定义一个名为以下内容的功能中:App\Http\Controllers\Auth\LoginControllershowLoginForm()

public function showLoginForm()
{
    return view('custom.login');
}

它将覆盖 trait 中定义的函数。showLoginFormIlluminate\Foundation\Auth\AuthenticatesUsers

注意:在 Laravel 5.3 中,函数名称从 getLogin 更改为 showLoginForm


答案 2

由于这个问题已经得到解答,我将为当前版本的Laravel提供相同的示例。

如果您使用的是Laravel 5.6及更高版本,则应将此功能放入

app/Http/Controllers/Auth/LoginController.php

public function showLoginForm()
{
    return view('custom.login');
}

此外,如果您想为此添加一个参数,则可以在Web路由中指定它,如下所示:

Route::get('login/{page?}', 'Auth\LoginController@showLoginForm')->name('login');

然后你可以做这样的事情:

public function showLoginForm($page = null)
{
    if(isset($page)){
        // do something
        // example: return view('auth.login', compact('page'));
    }
    return view('auth.login');
}

提示:如果您的项目中没有登录控制器,请确保您运行

php artisan make:auth

推荐