lm-commons/rbac

PHP 8支持的zfr/rbac v1.2.0的克隆

v1.2.1 2024-08-09 13:21 UTC

This package is auto-updated.

Last update: 2024-09-09 13:37:54 UTC


README

Build Status Latest Stable Version Total Downloads License Coverage Status Static Badge

Dynamic JSON Badge

重要!

此软件包的唯一目的是提供一个支持PHP 8并修复弃用通知的zfr/rbac 1.2版本。

Rbac(不要与ZfcRbac/LmcRbac混淆)是RBAC(基于角色的访问控制)概念的纯PHP实现。实际上,它是ZF2 Zend\Permissions\Rbac组件的Zend Framework 3原型。

它旨在修复一些设计错误,使其更加实用和高效。

它在以下方面有所不同

  • 引入了PermissionInterface
  • RoleInterface不再有setParentgetParent方法,并且不能再有子项(这用于实现更简单的“平面RBAC”)。
  • 引入了新的HierarchicalRoleInterface,允许角色有子项。
  • 角色上的hasPermission方法不再递归迭代子角色,而只检查其自身的权限。要正确检查角色是否被授权,您应使用Rbac类的isGranted方法。
  • Rbac类不再是容器。相反,它只有一个isGranted方法。由于角色重复,容器很复杂,难以正确处理,如果不正确使用,可能会导致安全问题。

此库用于LM-Commons/LmcRbacMvc v3。