如何在laravel中只使用用户名和密码验证登录?[已关闭]

bkhjykvo  于 2022-12-24  发布在  其他
关注(0)|答案(1)|浏览(97)

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
昨天关门了。
Improve this question
我有一个MySQL数据库的用户只有2字段:用户名和密码。我试图建立一个登录页面,但我使用的身份验证函数总是返回false,即使用户名和密码是正确的。
我的if语句是:

if (auth()->attempt($formFields))

其中:

$formFields = $request->validate([
        'user' => 'required',
        'password' => 'required'
    ]);

我试着检查是否问题是在输入我得到,但它看起来很好。从我发现网上似乎这个功能使用电子邮件字段来验证,所以我认为这可能是问题,但我找不到周围无论如何...

rjee0c15

rjee0c151#

尝试更新您的LoginController并将以下函数放在那里。

public function username()
{
    $identity  = request()->get('identity');
    $fieldName = filter_var($identity, FILTER_VALIDATE_EMAIL) ? 'email' : 'user';
    request()->merge([$fieldName => $identity]);
    return $fieldName;
}

相关问题