Laravel:使用用户名

时间:2016-08-13 11:54:19

标签: php laravel

我需要能够根据用户名而不是电子邮件地址重置用户密码。数据库确实存储了电子邮件地址,但用户可以拥有多个具有相同电子邮件地址的用户帐户。因此,用户名是重置密码的最佳唯一因素。

我当前的密码重置请求是:

switch (Password::remind(Input::only('email')))
{
  case Password::INVALID_USER:
    return Redirect::back()->with('error', Lang::get($reason));

  case Password::REMINDER_SENT:
    return Redirect::back()->with('status', Lang::get($reason));
}

我当前的重置功能是

$credentials = Input::only(
    'username', 'password', 'password_confirmation', 'token'
);

$response = Password::reset($credentials, function($user, $password){
    $user->password = Hash::make($password);

    $user->save();
});

switch ($response){
    case Password::INVALID_PASSWORD:
    case Password::INVALID_TOKEN:
    case Password::INVALID_USER:
    return Redirect::back()->with('error', Lang::get($response));

    case Password::PASSWORD_RESET:
    return Redirect::to('/overview');
}

我知道更改密码::提醒和密码:重置功能使用发送用户名将无法解决问题。我只是不知道如何告诉它使用用户名列而不是电子邮件列。

有什么建议吗?

0 个答案:

没有答案