fusible/authrole

集成 Aura\Auth 和 Zend\Permissions\Acl

dev-develop 2016-05-21 04:42 UTC

This package is auto-updated.

Last update: 2024-08-29 04:31:08 UTC


README

集成 Aura\AuthZend\Permissions\Acl

Latest version Build Status Coverage Status Quality Score

安装

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';