parsampsh/simpermission

一个用于处理laravel应用程序中用户权限的包

v0.1.2 2022-01-11 06:50 UTC

This package is auto-updated.

Last update: 2024-09-11 12:41:03 UTC


README

Simpermission是一个用于在laravel应用程序中实现简单用户权限管理系统的PHP库。

功能

$user->addPermission('what.i.want');
$user->deletePermission('what.i.want');
$user->getPermissions(); // ['foo.bar', 'hello.world'...]

if (! $user->hasPermission('some.thing')) {
    abort(403);
}

入门

要开始使用此包,首先需要使用composer将其安装到您的laravel应用程序中

$ composer install parsampsh/simpermission

然后,您需要运行迁移

$ php artisan migrate

现在,您需要在用户模型中添加两个东西

use Simpermission\HasPermissions;

class User
{
    // ...

    use HasPermissions;

    public function userIsManager()
    {
        return false;
    }

    // ...
}

您已经看到了一些方法,如上面的addPermission,这些方法被添加到您的用户模型中。HasPermissions特性将它们添加到您的模型中。

此外,还有一个名为管理用户超级用户的概念。管理用户应访问任何内容。当您使用hasPermission方法检查用户的权限时,相同的权限应通过addPermission方法添加。但对于管理用户,任何内容都是允许的。

要确定哪个用户是管理用户(具有完全权限访问)以及哪个不是,您应在用户模型中实现一个名为userIsManager的方法

class User
{
    // ...

    public function userIsManager()
    {
        // example
        return $this->is_manager === 1;
    }

    // ...
}

许可证

本项目采用MIT许可证。