一、使用composer安裝php
composer require spatie/laravel-permission
二、建立配置文件laravel
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"
生成的配置文件以下,生成的是英文備註,這個只是用來參考緩存
<?php return [ 'models' => [ //權限規則模型 'permission' => Spatie\Permission\Models\Permission::class, //角色模型 'role' => Spatie\Permission\Models\Role::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, ];
三、生成遷移文件composer
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"
3.1 這個不是很懂,請自行理解ide
若是你爲你的 User 模型使用 UUID 或 GUID,你能夠更新 create_permission_tables.php
的遷移,並用下面的代碼替換爲 $table->morphs('model')
:ui
$table->uuid('model_id'); $table->string('model_type');
3.2 執行遷移文件spa
php artisan migrate