farmit / rrrbac-for-laravel
基于角色、路由、规则的访问控制。
Requires
- php: ^8.1
- calebporzio/sushi: ^2.4
- filament/forms: ^3.0-stable
- filament/infolists: ^3.0-stable
- filament/tables: ^3.0-stable
- spatie/laravel-permission: ^6.0
README
基于角色、路由、规则的访问控制。
为了安装此包,请执行以下命令
composer require farmit/rrrbac-for-laravel
在 app 目录内创建一个 Rules 目录
将 \Farmit\RrrbacForLaravel\Providers\RrrbacServiceProvider::class 添加到 config/app.php 文件中的服务提供者列表。
如果您还没有这样做,通过以下命令发布 Spatie Permission 的供应商:php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
并将 HasRoles 特性添加到 User 模型中。
修改 config/permission.php
Spatie\Permission\Models\Role::class 修改为 \Farmit\RrrbacForLaravel\Models\Role::class
Spatie\Permission\Models\Permission::class 修改为 \Farmit\RrrbacForLaravel\Models\Permission::class
然后通过以下命令发布 RRRBac 供应商:php artisan vendor:publish --provider="Farmit\RrrbacForLaravel\Providers\RrrbacServiceProvider"
运行 php artisan migrate
运行以下命令来安装 Filament 资产:php artisan filament:install --tables --forms --notifications --infolists
在定义了可以访问 RRRBac 控制面板的角色和用户后,
将 \Farmit\RrrbacForLaravel\Http\Middleware\RoutesPermission::class 添加到 'web' 中间件组
要扩展权限到 Livewire,将 \Farmit\RrrbacForLaravel\Livewire\Trait\CanView 特性添加到组件中