Laravel 5.4其他Auth参数

问题描述 投票:0回答:1

我在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升级中继续存在吗?

laravel-5 laravel-5.4
1个回答
1
投票

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

use Illuminate\Http\Request;

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

切勿修改核心文件。 您始终可以在控制器中覆盖核心类方法。

© www.soinside.com 2019 - 2024. All rights reserved.