次の要件を持つアプリケーション用の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で現在の構造を実装できるかどうかを判断するのに問題があります。私の質問はです。
- Zend Frameworkで必要なことを行うために、現在のデータベース構造でACLを実装することは可能ですか?
- zendフレームワークで私が望むことを達成できるようにするより良い実装はありますか?
誰かが私がしなければならないことを始める方法を私に提供してくれたら、私は感謝するでしょう。私を助けることができるリソース、リンクはありますか?
ありがとうございました。