Zend Framework 3 prototype for Zend\Permissions\Rbac.
Rbac (not to be confused with ZfcRbac) is a pure PHP implementation of the RBAC (Role based access control) concept. Actually, it is a Zend Framework 3 prototype of the ZF2 Zend\Permissions\Rbac component.
It aims to fix some design mistakes that were made to make it more usable and more efficient.
It differs on those points:
RoleInterfaceno longer have
getParentmethods, and cannot have children anymore (this is used to implement a simpler "flat RBAC").
- A new
HierarchicalRoleInterfacehas been introduced to allow roles to have children.
hasPermissionon a role no longer recursively iterate the children role, but only check its own permissions. To properly check if a role is granted, you should use the
isGrantedmethod of the
Rbacclass is no longer a container. Instead, it just has a
isGrantedmethod. The container was complex to properly handle because of role duplication, which could lead to security problems if not used correctly.
Version 1.0 of this library is used in ZfcRbac 2.0. Version 2.0 of this library is used in ZfcRbac 3.0.