mis3085/laravel-admin-ext-forgot-password

0.0.2 2021-11-01 08:36 UTC

This package is auto-updated.

Last update: 2024-08-29 06:07:17 UTC


README

需求

- "php": "^7.3|^8.0",
- "laravel/framework": "^8.0",
- "encore/laravel-admin": "~1.6"

安装

composer require mis3085/laravel-admin-ext-forgot-password

用户模型修改

  • admin_users 表中添加 email 字段并进行迁移。
  • admin_users 创建一个新的模型
    • extends Encore\Admin\Auth\Database\Administrator
    • implements interface Illuminate\Contracts\Auth\CanResetPassword
    • use trait Illuminate\Notifications\Notifiable
    • use trait Illuminate\Auth\Passwords\CanResetPassword
    • ex
      namespace App\Models;
      
      use Encore\Admin\Auth\Database\Administrator;
      use Illuminate\Notifications\Notifiable;
      use Illuminate\Auth\Passwords\CanResetPassword;
      use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
      
      class AdminUser extends Administrator implements CanResetPasswordContract
      {
          use CanResetPassword;
          use Notifiable;
      
          //...
      }
      

配置修改

  • 编辑 config/admin.php,将 auth.providers.admin.modelEncore\Admin\Auth\Database\Administrator::class 修改为 App\Models\AdminUser::class,ex
    'providers' => [
        'admin' => [
            'driver' => 'eloquent',
            'model'  => App\Models\AdminUser::class,
        ],
    ],
    
  • 编辑 config/auth.php,向 passwords 添加一个新的代理
    'admin' => [
        'provider' => 'admin',
        'table' => 'password_resets',
        'expire' => 60,
        'throttle' => 60,
    ],
    

视图修改

  • ./vendor/encore/laravel-admin/resources/views/login.blade.php 复制到 ./resources/views/vendor/admin/(如果之前已经执行过此过程,则跳过此步骤)
  • 将此链接添加到 ./resources/views/vendor/admin/login.blade.php
    <a class="btn btn-link" href="{{ route('admin.password.request') }}">{{ __('Forgot your password?') }}</a>