目前我正在开发系统,该系统使用ZendFramework2 Acl实现来管理其各个部分的用户角色和权限。直到这一刻,它按照预期的方式工作 - 根据用户的角色给予或拒绝用户。最近我们得到了一个新的功能请求 - 实现功能,允许每个用户进行权限管理,无论他或她有什么角色。这里有一个棘手的部分--And的Zend实现不能满足开箱即用的要求(如果它应该在al处这样做)。需要注意的是 - 系统已经与当前模型紧密集成,因此使用其他类型的权限管理模型将是痛苦的。
到目前为止,我能想到的最佳解决方案是将个人用户表示为Acl中的角色并授予他们适当的权限,因此可以为用户动态创建或删除资源和权限,而不会影响整体角色权限(仍然申请)。
我能得到一些建议吗?这是“正确的方式”还是有更好的解决方法?在此先感谢:)
答案 0 :(得分:0)
如果一个用户自己拥有某些特权,那么你必须为该用户创建一个新角色。
我刚刚开发了一个ACL模块,允许您管理对每条路线的访问权限,只在每条路线中创建一个名为“角色”的新密钥。您不必手动配置ACL创建允许规则,此模块会自动为您读取路径创建规则。