Laravel:ForgotPasswordController 中的 Change Guard
Laravel: Change Guard in ForgotPasswordController
我使用 php artisan make:auth
功能快速构建了重置密码和忘记密码选项。
当我转到 "Forget-Password" 并输入注册用户的电子邮件时,我收到一条消息,提示找不到该电子邮件。这是因为我改变了我的默认守卫。
我该如何解决这个问题?我想对非默认守卫使用ForgotEmailController
,这与特定模型有关。我认为控制器没有在正确的数据库中搜索来自特定警卫的电子邮件。但是在 ForgotEmailController
中没有 default guard()
方法可以覆盖 ResetPasswordController
.
由于我没有使用默认模型,所以我需要使用自定义代理:
use Illuminate\Support\Facades\Password;
class ForgotPasswordController extends Controller
{
// ...
// Password Broker for Seller Model
public function broker()
{
return Password::broker('dogs');
}
}
经纪人 class "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',
// ],
],
我使用 php artisan make:auth
功能快速构建了重置密码和忘记密码选项。
当我转到 "Forget-Password" 并输入注册用户的电子邮件时,我收到一条消息,提示找不到该电子邮件。这是因为我改变了我的默认守卫。
我该如何解决这个问题?我想对非默认守卫使用ForgotEmailController
,这与特定模型有关。我认为控制器没有在正确的数据库中搜索来自特定警卫的电子邮件。但是在 ForgotEmailController
中没有 default guard()
方法可以覆盖 ResetPasswordController
.
由于我没有使用默认模型,所以我需要使用自定义代理:
use Illuminate\Support\Facades\Password;
class ForgotPasswordController extends Controller
{
// ...
// Password Broker for Seller Model
public function broker()
{
return Password::broker('dogs');
}
}
经纪人 class "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',
// ],
],