Zend ACL是否适合所有者对内容的权限

时间:2010-10-21 15:21:58

标签: php zend-framework zend-acl

我认为Zend ACL用于为用户类型(学生,教师)提供权限。可以用它来为每个内容提供权限。我的意思是这个博客文章是由这个用户编写的,他们可以编辑它。其他人无法编辑它。 Zend ACL能否满足这一要求?

2 个答案:

答案 0 :(得分:3)

是的,ZF中的Zend ACL可用于确定所有者权限和设置,以允许内容所有者编辑自己的帖子等。我不确定这个地方是否有您想要的具体示例,但您可以查看一些Zend来自zftutorials.com

的ACL教程

<强>更新

设置ACL可以通过多种方式完成,具体取决于您的组等设置方式。因此很难提供明确的方法来解决这个问题,但要点是要获得每个所有者可以做的权限设置。然后在你的Controller中,Action会发生这样的事情:

if (!$this->_helper->acl->isAllowedOwn($author->user_id, 'content', 'edit')) {

这将告诉是否允许该作者编辑自己的内容。这些规则需要通过配置文件或xml文件以某种方式设置,zftutorials可能会对此有所了解。

如果我有时间编写教程,我会在这里更新。但是,使用ZF编写教程是一个非常繁琐的过程,因为每个人都有不同的方式来做项目和偏好,更不用说设置它所需的所有内部工作。

答案 1 :(得分:3)

你可以create custom assertions for Zend_Acl。这些自定义断言可以作为第四个参数传递给常规allow()方法,例如

$acl->allow(null, null, null, new MyCustomAssertion());

断言可以包含您想要的任何代码。它必须返回一个布尔值,该布尔值将被考虑用于任何ACL检查,例如,这个 userid 是否允许使用特权自定义检查来访问此资源