1、使用composer安装
composer require spatie/laravel-permission
2、创建配置文件
php artisan vendor:publish --provider="SpatiePermissionPermissionServiceProvider" --tag="config"
生成的配置文件如下,生成的是英文备注,这个只是用来参考
<?php return [ 'models' => [ //权限规则模型 'permission' => SpatiePermissionModelsPermission::class, //角色模型 'role' => SpatiePermissionModelsRole::class, ], 'table_names' => [ //角色表 'roles' => 'roles', //权限规则表 'permissions' => 'permissions', //模型是否有权限规则表 'model_has_permissions' => 'model_has_permissions', /* * 模型是否拥有角色权限中间表 */ 'model_has_roles' => 'model_has_roles', /* *角色权限中间表 */ 'role_has_permissions' => 'role_has_permissions', ], /* *权限缓存时间 */ 'cache_expiration_time' => 60 * 24, /* 错误消息是否将权限规则加入到里面 */ 'display_permission_in_exception' => false, ];
3、生成迁移文件
php artisan vendor:publish --provider="SpatiePermissionPermissionServiceProvider" --tag="migrations"
3.1 这个不是很懂,请自行理解
如果你为你的 User 模型使用 UUID 或 GUID,你可以更新 create_permission_tables.php
的迁移,并用下面的代码替换为 $table->morphs('model')
:
$table->uuid('model_id'); $table->string('model_type');
3.2 执行迁移文件
php artisan migrate