# 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` ## 安装 ```bash composer require returnee/dcat-employee-auth:^1.0 php artisan vendor:publish --tag=dcat-employee-auth-config php artisan optimize:clear ``` 如果扩展包位于项目本地目录: ```json { "repositories": [ { "type": "path", "url": "dcat-admin-extensions/dcat-employee-auth", "options": { "symlink": true } } ] } ``` 然后安装: ```bash composer require returnee/dcat-employee-auth:^1.0 ``` ## 使用 ZIP 包安装 将 `returnee-dcat-employee-auth-1.0.0.zip` 放入项目的 `packages` 目录,并配置: ```json { "repositories": [ { "type": "artifact", "url": "packages" } ] } ``` 然后执行: ```bash composer require returnee/dcat-employee-auth:^1.0 ``` ## 配置 发布后的配置文件为 `config/dcat-employee-auth.php`。 默认使用手机号登录: ```php 'login_columns' => [ 'phone', ], ``` 只有 `status = 1` 的员工允许登录。 ## 授予后台管理员角色 员工登录前,需要将员工ID关联到 dcat-admin 的角色表。可以执行: ```bash php artisan dcat-employee-auth:grant-administrator E001 ``` 参数支持员工ID或手机号。 扩展使用 dcat-admin 原有的 `admin_role_users` 表保存员工角色,`user_id` 对应 `employees.id`。 ## 自定义员工模型 如需添加业务关系或修改访问器,可以继承扩展模型: ```php namespace App\Models; use Returnee\DcatEmployeeAuth\Models\EmployeeAdministrator; class AdminEmployee extends EmployeeAdministrator { } ``` 然后修改配置: ```php 'model' => App\Models\AdminEmployee::class, ``` ## 禁用扩展 ```dotenv DCAT_EMPLOYEE_AUTH_ENABLED=false ```