我正在尝试为论坛中的角色创建动态访问权限。我的问题是除了 Zend 自己的 APi 之外,我似乎没有找到关于如何使用 Zend Framework 2 ACL 的任何帮助。
在我的项目中,用户可以在论坛和其他子论坛中创建新的子论坛。
例如论坛-> some_subforum->also_has_subForum。每个子论坛都应该有自己的访问权限,
例如论坛有两个子论坛,我们有两个角色,管理员和用户,一个子论坛对两个角色都可见,而另一个子论坛仅对具有管理员权限的用户可见。
最好的部分就在这里:当管理员创建新的子论坛时,他/她可以为每个角色赋予指定的权限(管理员也可以创建新角色,所以我也不能硬编码),比如读、读和写、修改或不访问该子论坛的权利。这是我问题的根源。我知道我可以为此使用 AcL 的断言(?),但我不明白如何在我也在使用 BjyAuthorize 时调用它,它告诉我使用服务管理器定义断言,但没有关于如何调用的提示。
当使用断言时,我想我可以(以某种方式)告诉这个断言类谁需要加入子论坛,他/她有什么角色,然后断言将这些角色与 db 值进行比较,如果用户拥有这些权限,则返回 true。在 db 表中,我存储了值 subdomain_id、role_id 和 forum_permission(例如读取)。
简而言之:
- 使用zend 2和bjyauthorize时如何在服务管理器中定义断言?
- 我真的可以使用断言来做到这一点,还是会有其他更好的方法?