jeyroik / extas-access
此包最新版本(4.0.2)没有可用的许可证信息。
Extas访问包
4.0.2
2023-06-26 20:19 UTC
Requires
Requires (Dev)
README
描述
用于管理权限的包。
此包实现了“未明确允许即禁止”的模式。
安装
composer require jeyroik/extas-access:4.*
使用
为您的包安装访问权限
如果您的包(应用)预设有某种预置访问权限,则可以按以下方式组织其安装:
- 向extas兼容的配置中添加访问权限
{
"access": [
{"object": "jeyroik", "section": "api", "subject": "app", "operation": "delete"}
]
}
- 运行实体安装
/vendor/bin/extas i
创建访问权限
use \extas\interfaces\access\IAccess; use \extas\components\access\Access; use \extas\components\access\AccessService; $access = new \extas\components\access\Access([ IAccess::FIELD__OBJECT => 'player.name', IAccess::FIELD__SECTION => 'api', IAccess::FIELD__SUBJECT => 'player', IAccess::FIELD__OPERATION => 'create' ]); $accessService = new AccessService(); if (!$accessService->isGranted($access)) { $accessService->grant($access); }
检查访问权限
与创建几乎相同。
use \extas\interfaces\access\IAccess; use \extas\components\access\Access; use \extas\components\access\AccessService; $access = new \extas\components\access\Access([ IAccess::FIELD__OBJECT => 'player.name', IAccess::FIELD__SECTION => 'api', IAccess::FIELD__SUBJECT => 'player', IAccess::FIELD__OPERATION => 'create' ]); $accessService = new AccessService(); if ($accessService->isGranted($access)) { echo 'Access granted'; }