diego-drese/valiria

Sanctum Auth ACL

dev-main 2022-06-17 13:04 UTC

This package is auto-updated.

Last update: 2024-09-17 17:52:50 UTC


README

Valíria 是一个用于身份验证和授权的 Laravel 扩展包。

中间件 val.acl 检查认证用户是否有权限访问路由,如果用户在任何角色中拥有与路由同名的权限,则视为授权

Valíria 这个名字来源于《权力的游戏》

只有最伟大的铁匠才能从现有的 Valirian 钢铁中重新锻造剑,而制造这种合金的秘密似乎随着 Valíria 失去了,使得这些剩余的武器非常珍贵且极其罕见。在维斯特洛,Valirian 钢铁剑是贵族家族的珍贵遗产,每个都有其自己的名字和历史。

安装

  • 使用 composer 安装包 composer require diego-drese/valiria
  • 发布种子文件 php artisan vendor:publish --force --tag auth-seeds
  • 在您希望检查权限的路由上添加 val.acl
  • 运行 php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
  • 运行 php artisan migrate
  • 运行 php artisan db:seed --class=PermissionsTableSeeder 以填充权限表

使用

  • 将 Sanctum 的中间件添加到您 app/Http/Kernel.php 文件中的 api 中间件组
    cUrl
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;

'api' => [
    EnsureFrontendRequestsAreStateful::class,
    'throttle:60,1',
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],
  • 在 User 模型中添加 trait,检查模型 User 是否存在于 app/Model/User.php 中
use Laravel\Sanctum\HasApiTokens;
use Valiria\Traits\ValiriaUser;

class User extends Authenticatable
{
    use HasApiTokens, Notifiable, ValiriaUser;
}

许可

Valiria 包是开源软件,受 MIT 许可证 许可。