PHP Class ZfcRbac\Service\RoleService

Author: Michaël Gallego ([email protected])
显示文件 Open project: zf-commons/zfc-rbac Class Usage Examples

Protected Properties

Property Type Description
$guestRole string
$identityProvider ZfcRbac\Identity\IdentityProviderInterface
$roleProvider ZfcRbac\Role\RoleProviderInterface
$traversalStrategy Rbac\Traversal\Strategy\TraversalStrategyInterface

Public Methods

Method Description
__construct ( ZfcRbac\Identity\IdentityProviderInterface $identityProvider, ZfcRbac\Role\RoleProviderInterface $roleProvider, Rbac\Traversal\Strategy\TraversalStrategyInterface $traversalStrategy ) Constructor
getGuestRole ( ) : string Get the guest role
getIdentity ( ) : ZfcRbac\Identity\IdentityInterface | null Get the current identity from the identity provider
getIdentityRoles ( ) : Rbac\Role\RoleInterface[] Get the identity roles from the current identity, applying some more logic
matchIdentityRoles ( array $roles ) : boolean Check if the given roles match one of the identity roles
setGuestRole ( string $guestRole ) : void Set the guest role
setIdentityProvider ( ZfcRbac\Identity\IdentityProviderInterface $identityProvider ) Set the identity provider
setRoleProvider ( ZfcRbac\Role\RoleProviderInterface $roleProvider ) Set the role provider

Protected Methods

Method Description
convertRoles ( array | Traversabl\Traversable $roles ) : Rbac\Role\RoleInterface[] Convert the roles (potentially strings) to concrete RoleInterface objects using role provider
flattenRoles ( array $roles ) : string[] Flatten an array of role with role names

Method Details

__construct() public method

Constructor
public __construct ( ZfcRbac\Identity\IdentityProviderInterface $identityProvider, ZfcRbac\Role\RoleProviderInterface $roleProvider, Rbac\Traversal\Strategy\TraversalStrategyInterface $traversalStrategy )
$identityProvider ZfcRbac\Identity\IdentityProviderInterface
$roleProvider ZfcRbac\Role\RoleProviderInterface
$traversalStrategy Rbac\Traversal\Strategy\TraversalStrategyInterface

convertRoles() protected method

Convert the roles (potentially strings) to concrete RoleInterface objects using role provider
protected convertRoles ( array | Traversabl\Traversable $roles ) : Rbac\Role\RoleInterface[]
$roles array | Traversabl\Traversable
return Rbac\Role\RoleInterface[]

flattenRoles() protected method

This method iterates through the list of roles, and convert any RoleInterface to a string. For any role, it also extracts all the children
protected flattenRoles ( array $roles ) : string[]
$roles array
return string[]

getGuestRole() public method

Get the guest role
public getGuestRole ( ) : string
return string

getIdentity() public method

Get the current identity from the identity provider
public getIdentity ( ) : ZfcRbac\Identity\IdentityInterface | null
return ZfcRbac\Identity\IdentityInterface | null

getIdentityRoles() public method

Get the identity roles from the current identity, applying some more logic
public getIdentityRoles ( ) : Rbac\Role\RoleInterface[]
return Rbac\Role\RoleInterface[]

matchIdentityRoles() public method

This method is smart enough to automatically recursively extracts roles for hierarchical roles
public matchIdentityRoles ( array $roles ) : boolean
$roles array
return boolean

setGuestRole() public method

Set the guest role
public setGuestRole ( string $guestRole ) : void
$guestRole string
return void

setIdentityProvider() public method

Set the identity provider
public setIdentityProvider ( ZfcRbac\Identity\IdentityProviderInterface $identityProvider )
$identityProvider ZfcRbac\Identity\IdentityProviderInterface

setRoleProvider() public method

Set the role provider
public setRoleProvider ( ZfcRbac\Role\RoleProviderInterface $roleProvider )
$roleProvider ZfcRbac\Role\RoleProviderInterface

Property Details

$guestRole protected_oe property

protected string $guestRole
return string

$identityProvider protected_oe property

protected IdentityProviderInterface,ZfcRbac\Identity $identityProvider
return ZfcRbac\Identity\IdentityProviderInterface

$roleProvider protected_oe property

protected RoleProviderInterface,ZfcRbac\Role $roleProvider
return ZfcRbac\Role\RoleProviderInterface

$traversalStrategy protected_oe property

protected TraversalStrategyInterface,Rbac\Traversal\Strategy $traversalStrategy
return Rbac\Traversal\Strategy\TraversalStrategyInterface