fusible / authrole
集成 Aura\Auth 和 Zend\Permissions\Acl
dev-develop
2016-05-21 04:42 UTC
Requires
- aura/auth: ^2.0
- zendframework/zend-permissions-acl: ^2.6
This package is auto-updated.
Last update: 2024-08-29 04:31:08 UTC
README
集成 Aura\Auth 和 Zend\Permissions\Acl
安装
composer require fusible/authrole
使用方法
将 Aura\Auth\AuthFactory 替换为 Fusible\AuthRole\AuthFactory。生成的 Auth 对象将实现 Zend\Permissions\Acl\Role\RoleInterface 接口。
如果 $auth->isValid() 为 false,则 $auth->getRoleId() 将返回 Auth::GUEST ("访客")。
如果 $auth->isValid() 为 true,则 getRoleId 将在 $auth->getUserData 的结果中查找键 role 并返回该值,如果没有设置,则返回 Auth::MEMBER ("成员")。
use Fusible\AuthRole\AuthFactory; use Fusible\AuthRole\Auth; use Zend\Permissions\Acl\Acl; $factory = new AuthFactory($_COOKIE); $auth = $factory->newInstance(); $acl = new Acl(); $acl->addRole(Auth::GUEST) ->addRole(Auth::MEMBER); $acl->addResource('someResource'); $acl->deny('guest', 'someResource'); $acl->allow('member', 'someResource'); $resume = $factory->newResumeService(); $resume->resume($auth); echo $acl->isAllowed($auth, 'someResource') ? 'allowed' : 'denied';