使用 PHP 和 Zend_ACL,我想创建一个极其灵活的权限系统。我希望能够为某种类型的所有对象以及这些对象的实例分配权限。如果查询对象的特定实例并且它不存在于资源树中,则可以使用“通用”对象的权限集。我的问题是这需要嵌套,我想不出没有多重继承的方法,Zend_ACL 不支持。
一个例子就是这样。一个包含院系、课程和活动的在线学习网站。每个事件属于一门课程,每门课程属于一个教师。我希望能够允许每个教师角色访问所有课程(以及继承的事件),但特定教师希望他们的材料是私有的。因此,我使我的资源树的结构为每个教师都有一个资源节点,并让每个课程都属于来自教师节点的那个教师分支,而不是从为每个课程提供默认权限的通用课程节点分支。使用新结构,我如何应用我的通用课程权限?课程下面的事件也是如此,如果我希望每个事件只有在父课程可读时才可读,但我也想对每个事件应用一组默认权限,
非常欢迎对不同系统提出任何问题或意见或建议。