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

使用方法

  1. 发布迁移
php artisan vendor:publish --provider="Majebry\LaravelUserable\UserableServiceProvider" --tag="migrations"
  1. 将 Userable 特性包含到您的 Laravel User 模型中
class User extends Authenticatable
{
    use \Majebry\LaravelUserable\Traits\Userable;
    //...
}

因此,您可以在任何需要调用用户信息的地方,对任何用户可用的模型使用 Model::find($id)->userable

  1. 例如,如果我们想要生成一个名为 Customer 的用户类型,我们将运行以下命令
php artsian userable:make Customer

此命令将在 app 目录下生成一个 Customer 模型,并在 database/migrations 目录下生成一个 x_create_customers_table.php。您可以在运行迁移之前向该迁移添加所需的字段。

  1. 在 app/Http/Kernal.php 中,注册以下中间件
protected $routeMiddleware = [
    // ...
    'userable-auth' => \Majebry\LaravelUserable\Http\Middleware\UserTypeMiddleware::class,
];

例如,如果您想要保护一个路由仅对 StoreAdmin 可访问,您可以通过将路由与 ->middleware('userable-auth:store-admin') 连接来执行。

贡献

...

待办事项

  • 可能使生成器命令也生成自定义认证动作(路由和控制器)、中间件和/或视图。
  • 添加测试
  • 让 UserTypeMiddleware 支持多个用户类型
  • 挂钩到 User/Userable 的 Delete 事件?

许可证

MIT