【问题标题】:Laravel Auth::attempt() on custom field namesLaravel Auth::attempt() 自定义字段名称
【发布时间】:2020-09-09 06:43:52
【问题描述】:

我有两个密码字段passwordmaster_password。我可以使用Auth()->guard('appusers')->attempt($data) 使用password 字段登录用户,其中 $data 如下所示。

$data = [
    'username' => $username,
    'password'  => $password
];

但我无法通过master_password 登录用户。我的方法应该是什么?

【问题讨论】:

    标签: laravel authentication laravel-authentication


    【解决方案1】:

    我建议继续使用 Laravel 默认的身份验证。您需要在您的 LoginController 中覆盖 credentials 特征中的 credentials 方法。例如:

    /**
     * Get the needed authorization credentials from the request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function credentials(Request $request)
    {
        $passwordOrMasterPassword = $request->has('master_password') ?
            $request->master_password :
            $request->password;
    
        return [
            'email'    => $request->input('username'),
            'password' => $passwordOrMasterPassword,
        ];
    }
    

    您可以随意使用此方法中的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2014-11-06
      • 2019-06-20
      • 2017-04-28
      • 1970-01-01
      • 1970-01-01
      • 2017-05-11
      相关资源
      最近更新 更多