首页 > 解决方案 > 如何在 Laravel 中使用另一个字段进行身份验证?

问题描述

在手册中,我可以阅读:

默认情况下,Laravel 使用 email 字段进行身份验证。如果你想定制这个,你可以username在你的LoginController

但是在我的情况下,我想使用unique_id我公司提供的字段来验证我的用户。username()该字段不是用户名,因此我对使用该方法获取此字段感到难过。email除了对我的用户进行身份验证之外,还有其他方法可以告诉 Laravel 身份验证使用其他东西吗?

标签: phplaravelauthentication

解决方案


您可以在 Auth/LoginController中覆盖validateLogin和方法credentials

protected function validateLogin(Request $request)
{
    $request->validate([
        'unique_id' => 'required',
        'password' => 'required|string',
    ]);
}

protected function credentials(Request $request)
{
    return array_merge($request->only('unique_id', 'password'));
}

推荐阅读