zfr/rbac

Zend Framework 3 prototype for Zend\Permissions\Rbac.

Installs: 64 333

Dependents: 2

Stars: 16

Watchers: 6

Forks: 7

Language: PHP

1.2.0 2014-02-06 14:18 UTC

README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Total Downloads

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:

  • RoleInterface no longer have setParent and getParent methods, and cannot have children anymore (this is used to implement a simpler "flat RBAC").
  • A new HierarchicalRoleInterface has been introduced to allow roles to have children.
  • Method hasPermission on 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 isGranted method of the Rbac class.
  • Rbac class is no longer a container. Instead, it just has a isGranted method. 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.