代码之家  ›  专栏  ›  技术社区  ›  Alana Storm

持久化Zend框架ACL列表

  •  10
  • Alana Storm  · 技术社区  · 14 年前

    Zend框架(或使用Zend_应用程序构建的应用程序)是否提供了保持ACL列表的任何机制,或者这些细节是留给单个系统/应用程序开发人员的?

    我在网上看到的大多数示例都涉及在代码中设置ACL规则。我很好奇是否有任何标准/首选方法可以将这些规则保存到数据库和/或文件系统中,然后自动加载它们。

    4 回复  |  直到 9 年前
        1
  •  4
  •   opHASnoNAME    14 年前

    早晨,

    这是框架用户的一部分。我们将acl存储在.ini或.xml文件中。在复杂的项目中,我们可以使用数据库表来存储角色和资源。

    Zend DevZone上有一个很好的例子,可以使用数据库中的ACL。

    Zend ACL with Database

        2
  •  2
  •   Steve    14 年前

    如果acl很复杂但是静态的,可以尝试使用zend_缓存缓存acl。

    $cache = Zend_Cache::factory( 'File', 'File',
                                     array( 'automatic_serialization' => true,
                                            'master_file' => 'MyACL.php' ),
                                     array( 'cache_dir' => CACHE_PATH )
                                   ));
    
        3
  •  1
  •   David Snabel-Caunt    14 年前

    您可能对这个Zend_应用程序资源和Joe Gornick的相应配置感兴趣: http://gist.github.com/249442

        4
  •  1
  •   Fabien Haddadi    9 年前

    您还没有指定需要什么样的持久性。 对于会话术语持久性,可以在会话中存储构建的ACL注册表(zend_acl对象)或zend注册表。

    我还建议在logintime或者以某种一次性的方式构建它,以避免重载每个页面的处理。