laravel-5.4 - 如何在 laravel 中集成基于用户的权限和基于角色的权限
问题描述
laravel version : 5.4
Php verision : 5.6
我想在基于系统角色和基于用户的权限中应用权限。
我可以授予基于角色的权限。我还想添加一个自定义角色,我可以在其中授予基于用户的权限,这意味着对于这个角色,两个用户可以拥有不同的权限,尽管他们在同一个组中。
解决方案
在本地安装 spatie 权限
1. 删除:composer.lock 和 vender 运行:
composer require spatie/laravel-permission:^1
2. 在 Laravel 5.5 中,服务提供者会自动注册。在旧版本的框架中,只需在 config/app.php 文件中添加服务提供者:
'providers' => [
// ...
Spatie\Permission\PermissionServiceProvider::class,
];
3.
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"
4.
Run : php artisan migrate
Output :
Migrating: 2018_09_14_114242_add_start_date_to_project_activity_table
Migrated: 2018_09_14_114242_add_start_date_to_project_activity_table
Migrating: 2018_09_14_115119_update_start_date_to_project_activity_table
Migrated: 2018_09_14_115119_update_start_date_to_project_activity_table
Migrating: 2018_09_20_065330_add_project_maintenance_ppa_id_to_project_maintenance_table
Migrated: 2018_09_20_065330_add_project_maintenance_ppa_id_to_project_maintenance_table
Migrating: 2018_09_21_053456_add_project_maintenance_contact_id_to_project_maintenance_table
Migrated: 2018_09_21_053456_add_project_maintenance_contact_id_to_project_maintenance_table
Migrating: 2018_09_24_051933_add_start_date_end_date_to_maintenance_resolution_table
Migrated: 2018_09_24_051933_add_start_date_end_date_to_maintenance_resolution_table
Migrating: 2018_09_28_061855_create_permission_tables
Migrated: 2018_09_28_061855_create_permission_tables
5.
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"
推荐阅读
- laravel - $request->all() 在 laravel 5.5 中添加不必要的参数
- google-apps-script - Google 表格脚本在 getLastRow 上崩溃
- python - 通过多个键对字典列表进行分组和聚合
- python - 使用python在单位矩阵中填充几个0
- html - Angular 6,7 如何将默认主题颜色应用于 mat-sidenav 背景?
- c# - 如何为清单 ETW 创建 dll 程序集
- karate - 如何在空手道中迭代多个特征文件
- ember.js - 在 ember-power-select(onmouseEnter, OnMouseLeave) 中注册自定义事件
- r - 使用列表和数据框对值进行排名
- ionic-framework - 当我通过相机拍照时,它在 ionic3 中倒车