Постоянные списки ACL Zend Framework - PullRequest
10 голосов
/ 01 марта 2010

Предоставляет ли Zend Framework (или приложения, созданные с использованием Zend_Application) какой-либо механизм для сохранения списков ACL, или эта деталь оставлена ​​на усмотрение отдельного разработчика системы / приложения?

Большинство примеров, которые я вижу в Интернете, включают настройкуваши правила ACL в коде.Мне любопытно, есть ли какой-либо стандартный / предпочтительный способ сохранить эти правила в базе данных и / или файловой системе, а затем автоматически загрузить их.

Ответы [ 4 ]

4 голосов
/ 01 марта 2010

Утро

это часть Framework Framework User. Мы храним наш Acl внутри файлов .ini или .xml. В сложных проектах мы используем Таблицу базы данных для хранения ролей и ресурсов.

На Zend DevZone есть очень хороший пример использования acl с базой данных.

Zend ACL с базой данных

2 голосов
/ 02 марта 2010

Если ACL сложный, но статический, вы можете попробовать кэшировать свой ACL, используя Zend_Cache

$cache = Zend_Cache::factory( 'File', 'File',
                                 array( 'automatic_serialization' => true,
                                        'master_file' => 'MyACL.php' ),
                                 array( 'cache_dir' => CACHE_PATH )
                               ));
1 голос
/ 18 декабря 2015

Вы не указали, какой тип упорства ищется. Для сохранения продолжительности сеанса вы можете сохранить созданный вами реестр ACL (объект Zend_Acl) или реестр Zend.

Я также советую создавать его во время входа или каким-либо одноразовым способом, чтобы избежать перегрузки при обработке каждой страницы.

1 голос
/ 02 марта 2010

Вас может заинтересовать этот ресурс Zend_Application и соответствующий конфиг от Джо Горника: http://gist.github.com/249442

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...