如何在laravel 5.6中使用不同的表重置admin的密码?

问题描述 投票:2回答:2

我已经安装了新的laravel并复制了所有登录,注册和密码视图以及用于管理员登录的控制器和创建的名为“admins”的表。当我尝试重置laravel默认用户的密码时,它可以工作,但对于'admins'用户,它不会更新密码。重置默认用户密码时,密码重置表也为空。

// providers in config/auth.php   

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

// passwords reset in config/auth.php 

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

//Also added broker and guard in ResetPasswordController.php


public function broker()
{
    return Password::broker('admins');
}

protected function guard()
{
    return Auth::guard('admin');
}

我想要的是更新管理员密码并在重置密码时填写users_reset_table。我怎么能实现这个?

laravel laravel-5.6
2个回答
0
投票

您是否在App \ Dashboard \ Admin Model中添加了表格?

protected $table = 'admins';

0
投票

据我所知,你需要覆盖Auth\ResetPasswordController.php中的一些方法

通过文件的外观,我感觉应该覆盖这两种方法。

protected function guard()
    {
        return Auth::guard('owner');
    }


public function broker()
    {
        return Password::broker('admin');
    }
© www.soinside.com 2019 - 2024. All rights reserved.