views:

726

answers:

3

Does the Zend Framework (or applications built using Zend_Application) provide any mechanism for persisting ACL lists, or is that detail left to the individual system/application developer?

Most of the examples I see online involve setting up your ACL rules in code. I'm curious if there's any standard/preferred way to save these rules into a database and/or file-system and then automatically load them.

+2  A: 

Morning,

thats the part of the Framework User. We are storing our Acl inside of .ini or .xml files. On complex projects we are altough useing an Databasetable to store roles and resources.

There is a very good example on Zend DevZone for using acl with database.

Zend ACL with Database

ArneRie
+1  A: 

You might be interested in this Zend_Application resource and corresponding config from Joe Gornick: http://gist.github.com/249442

David Caunt
Looks interesting, thanks for the pointer!
Alan Storm
I'd use a database if you need your users to be able to create/edit roles, and something static like a config file if they're static.
David Caunt
+1  A: 

If the ACL is complex but static you could try caching your ACL using Zend_Cache

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