Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-04-2009 11:50:07

libertux
Nouveau membre
Date d'inscription: 25-04-2009
Messages: 7

authentification et acl pour une application modulaire

bonjour,

j'ai suivit plusieurs tuto mais je trouve pas un qui explique l'authentification et l'utilisation des acl pour une application muliti modules.

ce que je veut c'est qu'a travers le formulaire d'authentification l'application affiches les liens vers les modules approprié selon le rôle de l'utilisateur.

les modules approprier sont de véritable modules dont le dossier de chacun réside sous le dossier "module" de mon application.

merci.

Hors ligne

 

#2 29-04-2009 00:05:49

baboune
Membre
Date d'inscription: 29-11-2008
Messages: 103

Re: authentification et acl pour une application modulaire

Code:

class My_Acl_MyAcl extends Zend_Acl
{
    public function __construct(Zend_Auth $auth)
    {               
        // Tes Ressources Module/Controlleur
        $this->add(new Zend_Acl_Resource('default/index'));
        $this->add(new Zend_Acl_Resource('default/error'));
        $this->add(new Zend_Acl_Resource('user/index'));
        $this->add(new Zend_Acl_Resource(MODULE/CONTROLLER'));
                
                // Tes Roles avec héritage 'member' peut faire tous ce que fait 'guest'
                $this->addRole(new Zend_Acl_Role('guest')); 
                $this->addRole(new Zend_Acl_Role('member'), 'guest');
                $this->addRole(new Zend_Acl_Role('admin'), 'member');       

                // Les invités peuvent uniquement voir le contenu de :
                $this->allow('guest', 'default/index', 'index');
                ...
     }
}

dans ton plugin :

Code:

        $controller = $request->getControllerName();
        $action = $request->getActionName();
        $module = $request->getModuleName();
        $resource = $module.'/'.$controller; => comme dans tes ACL MODULE/CONTROLLER
        
        if (!$this->_acl->has($resource))  
        {
            $resource = null;
        }
        if ((!$this->_acl->isAllowed($role, $resource, $action))
        {
        // si il est pas authorisé
        }
        Sinon 
        ........

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages