eiixy / laravel-rbac
Installs: 12
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1
pkg:composer/eiixy/laravel-rbac
Requires
- laravel/framework: ^5.5|^6|^7|^8
- sczts/laravel-skeleton: ^1.0
This package is auto-updated.
Last update: 2025-10-10 14:16:46 UTC
README
基于laravel的后台权限管理拓展包,精确到接口的权限管理
-
使用 composer 安装
composer require sczts/laravel-rbac
-
发布配置文件
# 这条命令会在 config 下增加一个 rbac.php 的配置文件 php artisan vendor:publish --provider="Sczts\Rbac\Providers\RbacServiceProvider"
-
修改配置文件
config/rbac.php填写实际的用户表名/模型,配置对应使用的auth中间件'user' => 'users', 'middleware' => [ 'api', // 'jwt.auth', // 'auth.api', // 'auth:sanctum', ], -
进行数据库迁移
php artisan migrate
-
填充默认角色与权限信息(可选)
php artisan db:seed --class=RbacPermissionSeeder php artisan db:seed --class=RbacRoleSeeder
-
给User模型添加 trait
UserPermissionuse Sczts\Rbac\Traits\UserPermission; class User extends Authenticatable { use Notifiable, UserPermission; //......
-
在路由中添加验证中间件
rbac.check:{keyword}// 示例代码: Route::group(['prefix' => 'role', 'middleware' => ['api', 'auth:sanctum']], function () { Route::get('/', 'RoleController@list')->middleware('rbac.check:sys_role.list'); Route::post('/', 'RoleController@store')->middleware('rbac.check:sys_role.add'); Route::get('/{id}', 'RoleController@show')->middleware('rbac.check:sys_role.show'); Route::put('/{id}', 'RoleController@update')->middleware('rbac.check:sys_role.update'); Route::delete('/{id}', 'RoleController@destroy')->middleware('rbac.check:sys_role.delete'); });