2010-03-01 10 views
10

Zend Framework (o le applicazioni create con Zend_Application) forniscono un meccanismo per la permanenza degli elenchi ACL o è il dettaglio lasciato al singolo sviluppatore di sistema/applicazione?Elenchi ACL di Zend Framework permanenti

La maggior parte degli esempi che vedo online comportano la configurazione delle regole ACL nel codice. Sono curioso di sapere se esiste un modo standard/preferito per salvare queste regole in un database e/o in un file system e quindi caricarle automaticamente.

risposta

4

Mattina,

questa è la parte dell'utente Framework. Stiamo archiviando il nostro Acl all'interno di file .ini o .xml. Su progetti complessi utilizziamo comunque un oggetto DataBase per memorizzare ruoli e risorse.

C'è un ottimo esempio su Zend DevZone per l'utilizzo di acl con database.

Zend ACL with Database

+0

Il collegamento è interrotto. – ficuscr

1

Potreste essere interessati a questa risorsa Zend_Application e configurazione corrispondente dal Joe Gornick: http://gist.github.com/249442

+0

Sembra interessante, grazie per il puntatore! –

+0

Vorrei usare un database se avete bisogno che gli utenti siano in grado di creare/modificare ruoli e qualcosa di statico come un file di configurazione se sono statici. –

2

Se l'ACL è complessa, ma statica si potrebbe provare il caching tuo ACL utilizzando Zend_Cache

$cache = Zend_Cache::factory('File', 'File', 
           array('automatic_serialization' => true, 
             'master_file' => 'MyACL.php'), 
           array('cache_dir' => CACHE_PATH) 
           )); 
1

Non è stato specificato il tipo di persistenza ricercata. Per la persistenza del termine di sessione, è possibile memorizzare il registro ACL che è stato creato (oggetto Zend_Acl) nella sessione o il registro Zend.

Inoltre consiglio di realizzarlo a logintime, o in un modo unico, per evitare di sovraccaricare l'elaborazione di ogni pagina.

+0

Hai ragione, quando ho fatto questa domanda 5 anni fa non ho specificato quale tipo di persistenza è stata cercata. Volevo sapere se avevo bisogno di cercare personalmente un tipo specifico di persistenza, o se Zend avesse un sistema per gestirlo per me. –