tôi muốn xây dựng một hệ thống ACL cho ứng dụng của tôi có yêu cầu sau đây.Zend_Acl, với vai trò và quyền được lưu trữ trong cơ sở dữ liệu
- Người dùng sẽ được chỉ định một hoặc nhiều vai trò. (Quản trị viên, Nhân viên), v.v.
- Vai trò sẽ có quyền. (Gửi_Invoices, Send_mail, Delete_Invoices, Send_Estimate) v.v.
- Người dùng sẽ được chỉ định quyền tùy chỉnh ngoài vai trò được thừa hưởng.
cấu trúc cơ sở dữ liệu của tôi cho ACL như sau
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 | |
+---------------+---------+------+-----+---------+----------------+
tôi đã di cư đến Zend Framework, và có vấn đề quyết định thời tiết Zend_Acl cho phép tôi để thực hiện các cấu trúc hiện hành. câu hỏi của tôi là.
- tôi có thể triển khai ACL với cấu trúc cơ sở dữ liệu hiện tại để làm việc cần thiết trong Zend Framework không?
- có triển khai nào tốt hơn có thể cho phép tôi đạt được những gì tôi muốn trong khung công tác zend không?
tôi sẽ biết ơn nếu ai đó có thể cung cấp cho tôi một cách để bắt đầu với những gì tôi cần làm. bất kỳ tài nguyên, liên kết nào có thể giúp tôi?
cảm ơn bạn.