xrazerz/rbac

为 Laravel 创建一个全面的 RBAC 系统,允许更细致地控制用户权限

dev-main 2024-07-27 23:31 UTC

This package is auto-updated.

Last update: 2024-09-27 23:48:03 UTC


README

目录

介绍

此包为 Laravel 提供了一个全面的基于角色的访问控制(RBAC)系统,允许更细致地控制用户权限。它旨在灵活且易于集成到您的 Laravel 应用程序中。

特性

  • 定义角色和权限。
  • 将角色分配给用户。
  • 轻松检查用户权限。
  • 路由保护中间件。
  • 用于管理角色和权限的 Artisan 命令。

安装

  1. 通过 Composer 安装包

    composer require xrazerz/laravel-rbac
  2. 发布配置文件和迁移文件

    php artisan vendor:publish --provider="Dev\Rabc\Providers\RabcServiceProvider"
  3. 运行迁移

    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');
});

贡献

  1. 分支仓库。
  2. 创建一个新分支(git checkout -b feature-branch)。
  3. 进行更改。
  4. 提交更改(git commit -m '添加一些功能')。
  5. 推送到分支(git push origin feature-branch)。
  6. 打开拉取请求。

许可证

本项目采用 MIT 许可证 - 有关详细信息,请参阅LICENSE 文件。

联系方式

Ismail Mohamed - xrootedx.dev@gmail.com

项目链接: https://github.com/xrazerz/laravel-rbac