parsampsh / simpermission
一个用于处理laravel应用程序中用户权限的包
v0.1.2
2022-01-11 06:50 UTC
Requires
- php: ^7.4|^8.0
- laravel/framework: ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
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许可证。