dcat-admin的数据中心员工后台权限系统
宏通 bb3a7ec980 init 11 godzin temu
.idea init 11 godzin temu
config init 11 godzin temu
resources/views init 11 godzin temu
src init 11 godzin temu
.gitattributes init 11 godzin temu
README.md init 11 godzin temu
composer.json init 11 godzin temu

README.md

Dcat Employee Auth

使用业务系统的 employees 表登录 dcat-admin,使用手机号和密码登录,并继续使用 dcat-admin 自带的角色与权限表。

环境要求

  • PHP 8.1+
  • Laravel 9-12
  • dcat-admin 2.x
  • employees 表至少包含:
    • id
    • employee_no
    • email
    • phone
    • password
    • name
    • avatar
    • status
    • remember_token

安装

composer require returnee/dcat-employee-auth:^1.0
php artisan vendor:publish --tag=dcat-employee-auth-config
php artisan optimize:clear

如果扩展包位于项目本地目录:

{
    "repositories": [
        {
            "type": "path",
            "url": "dcat-admin-extensions/dcat-employee-auth",
            "options": {
                "symlink": true
            }
        }
    ]
}

然后安装:

composer require returnee/dcat-employee-auth:^1.0

使用 ZIP 包安装

returnee-dcat-employee-auth-1.0.0.zip 放入项目的 packages 目录,并配置:

{
    "repositories": [
        {
            "type": "artifact",
            "url": "packages"
        }
    ]
}

然后执行:

composer require returnee/dcat-employee-auth:^1.0

配置

发布后的配置文件为 config/dcat-employee-auth.php

默认使用手机号登录:

'login_columns' => [
    'phone',
],

只有 status = 1 的员工允许登录。

授予后台管理员角色

员工登录前,需要将员工ID关联到 dcat-admin 的角色表。可以执行:

php artisan dcat-employee-auth:grant-administrator E001

参数支持员工ID或手机号。

扩展使用 dcat-admin 原有的 admin_role_users 表保存员工角色,user_id 对应 employees.id

自定义员工模型

如需添加业务关系或修改访问器,可以继承扩展模型:

namespace App\Models;

use Returnee\DcatEmployeeAuth\Models\EmployeeAdministrator;

class AdminEmployee extends EmployeeAdministrator
{
}

然后修改配置:

'model' => App\Models\AdminEmployee::class,

禁用扩展

DCAT_EMPLOYEE_AUTH_ENABLED=false