majebry / laravel6-userable
Laravel 6 的多用户类型模型
v1.0.3
2020-02-10 07:23 UTC
This package is auto-updated.
Last update: 2024-09-10 16:59:08 UTC
README
此包将 Laravel 的 User
模型转换为“类似抽象”模型,以便您可以通过运行一些命令来创建尽可能多的独立用户可用的(用户类型)模型,以及它们的认证控制器和中间件。
安装
使用 composer 依赖管理器安装此包。
composer require majebry/laravel6-userable
使用方法
- 发布迁移
php artisan vendor:publish --provider="Majebry\LaravelUserable\UserableServiceProvider" --tag="migrations"
- 将 Userable 特性包含到您的 Laravel User 模型中
class User extends Authenticatable { use \Majebry\LaravelUserable\Traits\Userable; //... }
因此,您可以在任何需要调用用户信息的地方,对任何用户可用的模型使用 Model::find($id)->userable
- 例如,如果我们想要生成一个名为
Customer
的用户类型,我们将运行以下命令
php artsian userable:make Customer
此命令将在 app
目录下生成一个 Customer
模型,并在 database/migrations
目录下生成一个 x_create_customers_table.php
。您可以在运行迁移之前向该迁移添加所需的字段。
- 在 app/Http/Kernal.php 中,注册以下中间件
protected $routeMiddleware = [ // ... 'userable-auth' => \Majebry\LaravelUserable\Http\Middleware\UserTypeMiddleware::class, ];
例如,如果您想要保护一个路由仅对 StoreAdmin
可访问,您可以通过将路由与 ->middleware('userable-auth:store-admin')
连接来执行。
贡献
...
待办事项
- 可能使生成器命令也生成自定义认证动作(路由和控制器)、中间件和/或视图。
- 添加测试
- 让 UserTypeMiddleware 支持多个用户类型
- 挂钩到 User/Userable 的
Delete
事件?