繁体   English   中英

PHP Hybrid(过程和OOO)应用程序中的访问控制和RBAC(基于角色的访问控制)

[英]Access Control and RBAC (Roles Based Access Control) In PHP Hybrid (procedural and OOO) application

我有一个我想为其创建RBAC的PHP混合(过程和OOP)应用程序。

我可以创建数据库表(权限,角色,用户等),也可以在线找到很多有关该主题的文章,但是它们似乎都缺少最重要的部分:我们想要保护的“资源”。

Zend_ACL似乎还可以,但是我的应用程序不是基于MVC框架的。

问题1我想知道即使我的整个应用程序不是基于对象的 ,zend_acl是否松散耦合足以使用

问题2 当整个应用程序都不基于对象时,如何定义资源?

问题3是否有好的白皮书可以使我在处理异构(过程和OOP)系统时创建基于角色的系统?

再次感谢

“资源”只是一个非常普通的抽象的东西,实际上它可以是任何东西。 在结构良好的MVC架构中,此资源通常对应于类/方法名称,而类/方法名称又对应于URL。 但是,这与其他任何东西一样任意。 即使在纯过程PHP中,您也可以任意定义资源:

$resource = 'root.foo.bar';
$user     = getCurrentUser();

if (!isAllowedToAccess($user, $resource)) {
    exit;
}

// do something that represents root.foo.bar

如果没有良好的OO结构,则跟踪哪个代码表示对哪些资源更困难的操作,但这绝不是不可能的。 如果脚本的组织良好,则可以只按脚本的文件名查找。

关于Zend_ACL ,我不能说什么,但是如果将其硬连接到OO概念,我会感到惊讶。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM