2012-04-24 16 views
5

Voglio costruire un sistema ACL per la mia applicazione che abbia il seguente requisito.Zend_Acl, con ruoli e permessi memorizzati nel database

  1. Agli utenti verrà assegnato un ruolo singolo o multiplo. (Admin, Personale), ecc
  2. ruolo avrà permessi. (Send_Invoices, send_mail, Delete_Invoices, Send_Estimate) ecc
  3. utente sarà assegnato il permesso personalizzato a parte il ruolo che eredita.

mia struttura di database per ACL è la seguente

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 |    | 
+---------------+---------+------+-----+---------+----------------+ 

ho migrato a Zend Framework, e avendo problema di decidere wether Zend_Acl mi permette di implementare l'attuale struttura. la mia domanda è.

  1. è possibile per me implementare l'ACL con la struttura del database corrente per eseguire il necessario in Zend Framework?
  2. c'è qualche implementazione migliore che potrebbe permettermi di ottenere ciò che voglio nel framework zend?

sarò grato se qualcuno potrebbe darmi un modo per iniziare con quello che ho bisogno di fare. eventuali risorse, collegamenti che potrebbero aiutarmi?

grazie.

risposta

Problemi correlati