Zend Framework 2 ACL实现

时间:2013-01-04 10:13:09

标签: zend-framework2 acl

我在我的应用程序中将Auth和Acl与ZF2集成在一起。我已经按照教程。 http://p0l0.binware.org/index.php/2012/02/18/zend-framework-2-authentication-acl-using-eventmanager/

但是,我无法获得ACL的功能。 我在Auth模块中使用了ACL而不是用户。 我如何限制访客的访问权限?如何允许所有页面的成员访问?

我没有改变任何事情。请查看教程。

任何人都可以解决我的问题吗?或者引导我去做。 感谢。

3 个答案:

答案 0 :(得分:1)

刚开始探索ACL。您的问题首先出现在谷歌搜索结果中。 很明显,本教程中使用的命名空间是错误的(使用Zend \ Acl \ Acl作为ZendAcl)。

ACL名称空间为:

namespace Zend\Permissions\Acl;

class Acl implements AclInterface

答案 1 :(得分:1)

ACL Setup in five minutes这是在zendframework 2应用程序中设置acl的快捷方法

答案 2 :(得分:0)

我遇到了同样的问题来解决auth + acl控制问题,并且我已经得到了它。这很简单:

1 - 创建全局或特殊模块acl配置文件:....module/Profil/config/acl.config.php

您可以将它放在应用程序的全局配置目录下

return array(
    'acl' => array(
        'roles' => array(
            'guest'   => null,
            'member'  => 'guest',
            'admin'  => 'member'
        ),
        'resources' => array(
            'Profil' => array(
                'Index' =>  array(
                    'allow' => array(
                    // action   => member
                        'signup'    => 'guest',
                        'index'     => 'guest', // signin ;)
                        'home'      => 'member',
                        'signout'   => 'member',
                        'all'       => 'admin',
                    ),
                    'deny' => array(
                        'home'    => 'guest',
                    ),
                ),
            ),
        ),
    ),
);

在这里,我已经定义了我的模块“Profil”如何工作以及可以使用它的角色以及每个模块的限制。

角色:

访客没有父母。
会员继承自访客权限 老板管理员继承了会员和客人。