zinethq / spark-roles
基于 caffeinated/shinobi 的 Laravel Spark 团队和用户的角色与权限
Requires
- php: >=5.6.4
- laravel/framework: ^5.3
Requires (Dev)
- phpunit/phpunit: ~5.5
This package is not auto-updated.
Last update: 2022-02-01 13:01:36 UTC
README
SparkRoles,基于 Caffeinated Shinobi,通过以下 ACL 结构为 Laravel Spark 的 Team 和 User 模型提供简单轻量级的基于角色的权限系统:
- 每个用户可以拥有零个或多个角色。
- 每个用户可以拥有零个或多个权限。
- 每个团队可以拥有零个或多个角色。
- 每个团队可以拥有零个或多个权限。
- 角色和权限可以在用户和团队之间共享。
- 可选:可以将具有特定角色(例如
developer
)的用户和团队添加到 Spark 开发者数组中。
然后,通过团队/用户分配的角色将权限继承到团队/用户。
此包是构建基于 Laravel/Spark
的项目时 Caffeinated Shinobi 的替代品。
文档
您可以在 ZiNETHQ SparkRoles Wiki 中找到用户友好的文档,正在更新中。
快速安装
-
通过 Composer 安装包。
composer require zinethq/spark-roles:dev-master
-
将服务提供者添加到项目的
config/app.php
文件中。ZiNETHQ\SparkRoles\SparkRolesServiceProvider::class,
-
将配置、模型和迁移发布到项目中。
php artisan vendor:publish --provider="ZiNETHQ\SparkRoles\SparkRolesServiceProvider"
-
迁移数据库。
php artisan migrate
-
将
CanUseRoles
特性添加到Team
和/或User
模型中,例如app\Team.php
<?php namespace App; use Laravel\Spark\Team as SparkTeam; use ZiNETHQ\SparkRoles\Traits\CanHaveRoles; class Team extends SparkTeam { use CanHaveRoles; ... }
app\User.php
<?php namespace App; use Laravel\Spark\User as SparkUser; use ZiNETHQ\SparkRoles\Traits\CanHaveRoles; class User extends SparkUser { use CanHaveRoles; ... }
-
可选:如果您想根据团队/用户角色动态分配 Spark 开发者数组,则打开
app\Http\kernel.php
并将其添加到web
中间件组中\ZiNETHQ\SparkRoles\Middleware\AddDevelopers::class,
此中间件可以在包的配置文件中控制(启用/禁用并选择标识开发者的角色 slugs)。
-
开始为 Spark 团队和用户使用角色!
贡献
Fork,编辑,拉取请求。您知道如何操作。
待办事项列表
如果您想做出贡献,可以考虑帮助以下任务之一
-
添加 Travis CI 集成 -
添加 PHPUnit 支持 - 添加有意义的单元测试
- 添加基于 Kiosk 的前端来定义角色和权限,类似于 Watchtower 的 Shinobi
Awesome Shinobi
《Caffeinated Shinobi》是一个为Laravel添加基于角色的访问控制(RBAC)的出色工具。还有一款名为《Watchtower》的Shinobi酷炫界面,可以通过Watchtower获取。去看看吧!