一个简单直接的Laravel用户权限包。

v1.0.2 2023-02-15 13:57 UTC

README

Logo Kalibrant

run-tests Check & fix styling PHPStan Update Changelog Total Downloads Latest Stable Version License

简介

一个简单、优雅且直接的Laravel应用程序用户权限包。

安装

您可以通过composer安装此包

composer require starfolksoftware/persona

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --tag="persona-migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="persona-config"

这是发布后的配置文件内容

return [
    'roles' => [
        // 'owner' => [
        //     'key' => 'owner',
        //     'name' => 'Owner',
        //     'permissions' => ['*'],
        // ],
    ],
];

用法

HasRole特质添加到您的用户模型中

use StarfolkSoftware\Persona\HasRole;

class User extends Authenticatable
{
    use HasRole;

    // ...
}

在配置文件中注册您的角色和权限

return [
    'roles' => [
        'owner' => [
            'key' => 'owner', // must be unique
            'name' => 'Owner',
            'permissions' => ['*'],
        ],
    ],
];

您可以检查用户是否具有特定的权限,如下所示

$user->hasPermission('post:edit');

permissions键值设为'*'意味着hasPermission(...)方法将始终返回true。

测试

composer test

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

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

安全漏洞

请查阅我们的安全策略了解如何报告安全漏洞。

鸣谢

许可

MIT许可证(MIT)。请参阅许可文件以获取更多信息。