2013-01-04 67 views
0

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

但是,我无法获得ACL的功能。 我在验证模块中使用ACL而不是用户。 如何限制访客访问?如何让会员访问所有页面?

我没有改变任何东西。请检查教程。

谁能解决我的问题吗?否则指导我去做。 谢谢。

回答

1

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

的ACL命名空间是:

namespace Zend\Permissions\Acl; 

class Acl implements AclInterface 
0

我不得不解决AUTH + ACL控制的问题同样的问题Finnaly我知道了。原因很简单:

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', 
        ), 
       ), 
      ), 
     ), 
    ), 
); 

在这里,我定义的全局config目录下如何我的模块“Profil”可以工作,可以使用它的角色以及每个角色的限制。

角色:

一位客人没有父母。
成员从访客权限继承。
老板管理员继承成员和来宾。