sczts/laravel-rbac is a Laravel package.
It currently has 0 GitHub stars and 19 downloads on Packagist (latest version v1.0.0).
Install it with composer require sczts/laravel-rbac.
Discover more Laravel packages by sczts
or browse all Laravel packages to compare alternatives.
Last updated
基于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 UserPermission
use 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');
});