基于角色的访问控制基于角色的访问控制(Role Based Access Control)

2019-06-14 15:48发布

是否有任何开源的, PHP based可用于基于角色的访问控制系统CodeIgniter

Answer 1:

布兰登萨维奇介绍了他的PHP包“介绍ApplicationACL ”可能会或可能不会完成基于角色的访问。 PHPGACL可能工作为好,但我不能告诉你是肯定的。

我可以告诉你,然而,这是Zend_Acl中 Zend框架的组成部分将做基于角色的设置(但你必须继承一次检查多个角色)。 诚然痛苦的,这是你必须拉出来Zend_Acl里,我不相信有任何外部依赖,从整体下载(或SVN结帐)。

关于Zend_Acl中的好处是,虽然它的存储无关。 你可以每次要么重建它或它的设计被序列化(我用两者的结合,序列化的高速缓存,并从DB重建)。



Answer 2:

也许我误解的问题,而不是基于角色的访问控制(RBAC)的整点,以避免访问控制列表(ACL)?

RBAC从访问控制列表(ACL)(...),它在组织与意义将权限分配给特定的操作,而不是低级别的数据对象不同 。 例如,访问控制列表可用于授予或拒绝特定的系统文件的写权限,但它不会在该文件中可以改变什么办法说。 在基于RBAC的系统的操作可能会在一个财务应用(...),以创建“信用账户”交易。 执行特定操作的权限的分配是有意义的,因为操作是细粒度和本身具有的应用程序中的意思。 (引用: 维基百科 )

我不知道在Zend_Acl里或提及其他实现细节,但如果是基于ACL,我不建议将其用于基于角色的授权。



Answer 3:

我创建了一个叫做一个开源项目PHP -蹦床这可能是你的兴趣。 它仍然相当年轻,但工作得很好,很容易配置。 我结束了开发它,因为没有现有的解决方案似乎满足我的需求。 我希望这有帮助!



Answer 4:

phpgacl http://phpgacl.sourceforge.net/是一个通用的基于ACL访问控制框架

虽然我不知道任何CI具体实施做的,我知道,你只需要在主类文件进行phpgacl工作。 所以,我相信的,与CI的集成将不会有任何问题。 (我的工作passingly与CI)



Answer 5:

这里有两个RBAC库PHP,我发现:

  • https://github.com/leighmacdonald/php_rbac
  • https://github.com/brandonlamb/php-rbac

我实际使用中PolyAuth第一个: https://github.com/Polycademy/PolyAuth/

这是一个包含NIST 1级RBAC一个全功能的权威性库。 是的,RBAC是不一样的ACL。 我用笨还有,你​​所要做的就是用PDO驱动程序,并通过在连接ID。 请参见本教程如何做到这一点: http://codebyjeff.com/blog/2013/03/codeigniter-with-pdo



Answer 6:

发现了Khaos ACL这是一个CI图书馆......我还检查了phpgacl以及如何使用它的CI ... Have'nt检查Zend的ACL呢。 但也许它可以被“移植”到CI



Answer 7:

尝试DX_Auth插件笨。 我的那个DX_Auth具备的功能工作的一个类似的(更确切地说,超)。 我的CI插件的集合包括菜单的显示(可通过CSS来控制),角色的访问基地之前控制研究调用控制器和其他功能。 我希望能尽快发布。 会给项目的URL,当我这样做



Answer 8:

RBAC = ACL - 罗兰对这个问题的唯一正确的答案。

顺便说一句,当然它是一个框架的重要组成部分,以实现任何类型的许可制度 - 至少有在使用框架,如果它不给你一个很好engeneered RBAC系统是没有意义的 - 它可能会使用一个简单的模板会更好系统与任何ORM层然后。

它是在PHP世界共同的反模式,即框架,比如Ruby或者Django的是“克隆”只是作为这些现代化的框架提供的一个子集 - 作为一个典型综合征宥看到一个缺乏良好的ACL或RBAC整合到这些框架 - 什么本质上是一个笑话。 目前只配备了一个体面的RBAC实现Yii的PHP框架。



Answer 9:

我知道的线索是冷的,但一个新的项目已弹出:

PHP-RBAC是基于访问控制的PHP分层NIST 2级标准的作用,是非常成熟的。 这也是一个OWASP项目。

我希望你喜欢它http://phprbac.net



Answer 10:

http://www.jframework.info (Deadlink中)

jFramework具有标准NIST级别2 RBAC与被认为是最快的可用(包括基准),它可以在一个单一的SQLite数据库文件中操作并且彻底的测试增强,就像一个手套。

对jFramework DBAL的依赖,但你可以简单的替换代码DBAL SQL查询与您的期望DBAL,当然你可以在一个SOP方式使用jFramework。



Answer 11:

离子验证库使用的用户和组- https://github.com/benedmunds/CodeIgniter-Ion-Auth但没有工作RBAC系统使用它们和管理。 但你可以白的功能。



文章来源: Role Based Access Control