Laravel:ForgotPasswordController中的Change Guard

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

我使用php artisan make:auth功能快速构建Reset-Password和Forget-Password选项。

当我转到“忘记密码”并输入注册用户的电子邮件时,我收到一条消息,表明找不到该电子邮件。这是因为我改变了我的默认后卫。

我怎样才能解决这个问题?我想将ForgotEmailController用于非默认防护,这与特定模型有关。我认为Controller不会从特定的防护中搜索正确的数据库中的电子邮件。但是在default guard()中没有像ForgotEmailController那样覆盖的ResetPasswordController方法。

php laravel-5.5
1个回答
2
投票

可以在here找到一篇详细解释这篇文章的好文章


由于我没有使用默认模型,我需要使用自定义代理:

class ForgotPasswordController extends Controller
{
  //....

  //Password Broker for Seller Model
  public function broker()
  {
       return Password::broker('dogs');
  }
}

经纪人类“狗”已经在config/auth.php中定义

'passwords' => [
        'users' => [
            'provider' => 'users',
            'table' => 'password_resets',
            'expire' => 60,
        ],
        'dogs' => [
            'provider' => 'dogs',
            'table' => 'password_resets',
            'expire' => 60,
        ],
    ],


'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    'dogs' =>[
        'driver' => 'eloquent',
        'model' => App\Dogs::class,
    ],
    // 'users' => [
    //     'driver' => 'database',
    //     'table' => 'users',
    // ],
],
© www.soinside.com 2019 - 2024. All rights reserved.