我想为我的应用程序构建一个具有以下要求的 ACL 系统。
- 用户将被分配单个或多个角色。 (行政人员、工作人员)等
- 角色将具有权限。(Send_Invoices、Send_mail、Delete_Invoices、Send_Estimate)等。
- 除了继承的角色之外,用户还将被分配自定义权限。
我的ACL数据库结构如下
role:
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| roleName | varchar(50) | NO | UNI | NULL | |
+----------+-------------+------+-----+---------+----------------+
permission:
+----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| permissionName | varchar(50) | NO | | NULL | |
| permissionKey | varchar(50) | NO | UNI | NULL | |
+----------------+-------------+------+-----+---------+----------------+
role_permission
+---------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| role_id | int(11) | NO | MUL | NULL | |
| permission_id | int(11) | NO | | NULL | |
+---------------+---------+------+-----+---------+----------------+
user_role
+---------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | MUL | NULL | |
| role_id | int(11) | NO | | NULL | |
+---------------+---------+------+-----+---------+----------------+
user_permission
+---------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | MUL | NULL | |
| permission_id | int(11) | NO | | NULL | |
+---------------+---------+------+-----+---------+----------------+
我已经迁移到 Zend Framework,并且在确定 Zend Acl 是否允许我实现当前结构时遇到问题。我的问题是。
- 我是否可以使用当前数据库结构实现 ACL 来完成 Zend Framework 中的需要?
- 有没有更好的实现可以让我在 zend 框架中实现我想要的目标?
如果有人能为我提供一种方法来开始我需要做的事情,我将不胜感激。有什么资源、链接可以帮助我吗?
谢谢。
嗯,我认为这个结构非常好,要使其正常工作,您必须执行 2 个步骤
1-设置所有数据库和要求
2-创建一个 ACL 插件来确定用户的角色及其权限
一些有教义支持的例子:
开发 Doctrine 支持的 ACL 助手 TDD 风格,第 1 部分 http://monzee.wordpress.com/2009/06/14/developing-a-doctrine-backed-acl-helper-tdd-style-part-1/
开发 Doctrine 支持的 ACL 助手 TDD 风格,第 2 部分 http://monzee.wordpress.com/2009/06/20/developing-a-doctrine-backed-acl-helper-tdd-style-part-2/
另一个简单的 ACL :
zend框架中的动态自定义ACL? https://stackoverflow.com/questions/8548649/dynamic-custom-acl-in-zend-framework
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)