Laravel 5.4额外的Auth参数

时间:2017-06-01 13:17:59

标签: laravel-5 laravel-5.4

我在Laravel 5.4的注册过程中添加了电子邮件验证。我也在使用内置的Auth配置。我现在想在验证过程中添加“已验证”参数。这曾经在5.x的早期版本中工作,但我现在无法工作。

编辑此文件:

project\vendor\laravel\framework\src\Illuminate\Foundation\Auth\AuthenticatesUsers.php

我通常会添加登录验证的“已验证”部分。

protected function validateLogin(Request $request)
{
    $this->validate($request, [
        $this->loginUsername() => 'required', 
                    'password' => 'required', 
                    'verified' => 1,
    ]);
}

现在这似乎不适用于5.4。我可以在没有验证为真的情况下登录。有没有其他方法可以改变这一点而不触及任何后端类或特征?我可以在LoginController中执行此操作,以便更容易在Laravel升级中保留吗?

1 个答案:

答案 0 :(得分:1)

是的,你可以做到。将其添加到您的LoginController

use Illuminate\Http\Request;

protected function credentials(Request $request)
{
    return array_merge($request->only($this->username(), 'password'), ['verified' => 1]);
}

永远不要修改核心文件。您始终可以覆盖控制器中的核心类方法。