laraditz/permission-plus

为懒惰者设计的Laravel权限管理。

0.0.1 2023-02-24 07:49 UTC

This package is auto-updated.

Last update: 2024-09-26 07:34:26 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

Laravel权限管理,专为懒惰者设计。权限增强是一个RRBAC(基于角色/路由的访问控制),它是一种基于应用程序路由和角色的访问控制方法。(警告:此包仍在开发初期,可能包含错误)。

screenshot

先决条件

  • PHP 8.0+
  • Laravel v8.0+
  • Spatie Laravel Permission V5

安装

您可以通过composer安装此包

composer require laraditz/permission-plus

如果您还没有,您可能需要创建一个新用户账户以便访问权限增强页面。使用Laravel 入门套件,快速启动您的应用程序。

设置

运行迁移命令以创建必要的数据库表。

php artisan migrate

HasPermissionPlus特质添加到您的User模型中。

use Laraditz\PermissionPlus\Traits\HasPermissionPlus;

class User extends Authenticatable
{
    use HasPermissionPlus;
}

(可选)您可以通过此命令发布配置文件

php artisan vendor:publish --provider="Laraditz\PermissionPlus\PermissionPlusServiceProvider" --tag="config"

使用方法

登录后,转到/permission-plus/permissions以管理您的权限,您将看到以下页面。您可能可以点击生成按钮来生成应用程序中的所有路由以开始添加权限。

screenshot 1

如果您添加更多路由,请重复此步骤。

部署到生产环境

默认情况下,所有App\Models\Users都可以在本地访问权限页面。为了允许他们在生产环境中访问权限页面,您必须采取一些额外步骤以确保只有正确的用户有权访问页面。

要设置您的App\Models\User以便在非本地环境中访问权限页面,您必须重写canAccessPermissionPlus方法。

public function canAccessPermissionPlus(): bool
{
    // example
    return str_ends_with($this->email, '@yourdomain.com') && $this->hasVerifiedEmail();
}

如果您发现任何与安全相关的问题,请通过raditzfarhan@gmail.com发送电子邮件,而不是使用问题跟踪器。

  • 待办事项
  • 添加搜索
  • 添加文档
  • 添加测试
  • 资源所有者的权限
  • 自动检测可用路由
  • 创建更友好的用户界面
  • 优化移动视图布局
  • 为单个用户添加权限

重构代码

composer test

变更日志

请参阅变更日志以获取更多信息。

贡献

请参阅贡献以获取详细信息。

安全性

如果您发现任何与安全相关的问题,请通过raditzfarhan@gmail.com发送电子邮件,而不是使用问题跟踪器。

鸣谢

许可协议

MIT许可(MIT)。有关更多信息,请参阅许可文件