xrazerz / rbac
为 Laravel 创建一个全面的 RBAC 系统,允许更细致地控制用户权限
dev-main
2024-07-27 23:31 UTC
Requires
- illuminate/database: ^12.0@dev
- xrazerz/rbac: dev-main@dev
This package is auto-updated.
Last update: 2024-09-27 23:48:03 UTC
README
目录
介绍
此包为 Laravel 提供了一个全面的基于角色的访问控制(RBAC)系统,允许更细致地控制用户权限。它旨在灵活且易于集成到您的 Laravel 应用程序中。
特性
- 定义角色和权限。
- 将角色分配给用户。
- 轻松检查用户权限。
- 路由保护中间件。
- 用于管理角色和权限的 Artisan 命令。
安装
-
通过 Composer 安装包
composer require xrazerz/laravel-rbac
-
发布配置文件和迁移文件
php artisan vendor:publish --provider="Dev\Rabc\Providers\RabcServiceProvider"
-
运行迁移
php artisan migrate
配置
在发布配置文件后,您可以在 config/rbac.php
中找到它。根据您的需求进行自定义。
使用
定义角色和权限
您可以在数据库中或使用提供的 Artisan 命令定义角色和权限。
# Create a role php artisan rbac:create-role admin # Create a permission php artisan rbac:create-permission view-dashboard
将角色分配给用户
您可以使用 assignRole
方法将角色分配给用户。
$user = User::find(1); $user->assignRole('admin');
检查权限
您可以使用 can
方法检查用户是否有特定权限。
if ($user->can('view-dashboard')) { // The user can view the dashboard }
中间件
您可以使用提供的中间件保护您的路由。
Route::group(['middleware' => ['role:admin']], function () { Route::get('/admin', 'AdminController@index'); });
贡献
- 分支仓库。
- 创建一个新分支(
git checkout -b feature-branch
)。 - 进行更改。
- 提交更改(
git commit -m '添加一些功能'
)。 - 推送到分支(
git push origin feature-branch
)。 - 打开拉取请求。
许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅LICENSE 文件。
联系方式
Ismail Mohamed - xrootedx.dev@gmail.com