把这个话题拉回来,做完就好了,实现起来还是有点难度的。让我们来了解一下我们遇到的问题: Ben:我不知道您的项目正在发生什么,但让我们创建一个类似的场景,我们有一个供客人、客户、管理员使用的网站:我们需要在我们的数据库中创建一个表保存角色名称,并且对于每个角色,它都有其权限
Roles (idRole, nameRole)
Permissions (We will speak about it later)
比方说,可能以后,我们需要为我们的应用程序设置更多的角色,所以我们会设置一个页面让管理员为每个角色分配权限(如 Drupal 和 Joomla),解决方案之一是定位所有模块你在你的应用程序中,然后获取每个模块的控制器,以及每个控制器的操作。然后我们必须告诉 Zend_Acl 从数据库中的 Roles Table 设置我们的角色,Resources 是 Zend Modules->Actions 的每个控制器。所以我们需要一个表来存储所有模块,对于每个模块,我们都需要控制器和动作
Modules (idModule, nameModule)
Controllers (idController, nameController, idModule_FK)
Actions (idAction, nameAction, descriptionAction, idController_FK)
描述字段将从动作描述示例中获取
/**
* @description := Action to edit Roles
**/
public function editAction {}
所以现在让我们完成我们的数据库结构
Roles (idRole, nameRole)
Permission (idRole, allowedPermission, idAction, dateTimeAssigned)
Modules (idModule, nameModule)
Controllers (idController, nameController, idModule_FK)
Actions (idAction, nameAction, descriptionAction, idController_FK)
这是一个通用结构,直到现在我都可以找到,我正在尝试取回所有模块/控制器/动作,当它完成时,我会将其发布回此处(插件类),然后我们将尝试移动所有一起(Contribution for others)用 Zend_Acl Dynamic 处理这个问题。
下一步:要创建一个插件,Library/App/Action/Helper
如果它是由某人完成的,请回帖以对其进行一般性贡献,然后我们将专注于在 Zend 项目中使用 Doctrine ORM 保存数据,第三步是创建一个控制器从数据库信息(角色、权限、操作)动态创建 Zend_Acl。
任何建议/想法/建议,在这里应该继续直到完成。
亲切的问候,