Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 23-11-2009 15:54:03

jfrag
Membre
Date d'inscription: 13-11-2009
Messages: 37

[RESOLU]Zend_Acl verification dans un plugin controller

Bonjour a tous,

j'ai fait un plugin controller qui verifie si l'utilisateur actuellement connecté a les droits necessait pour afficher l'action controller.

Mon problème est que lorsqu'il n'as pas les droits j'affiche une exception mais il m'exécute quand même mon action.

Pour l'instant le seul moyen que j'ai trouvé pour evité ca est de definir le controller et l'action a vide dans le plugin.

le plugin :

Code:

class Plugin_Acl extends Zend_Controller_Plugin_Abstract
{
    public function preDispatch(Zend_Controller_Request_Abstract $request){
        
        $auth = Zend_Auth::getInstance();
        
        if($auth->hasIdentity()){
            
            $id = $auth->getIdentity()->contact_id;
            $acl = new Model_Droits_Acl();
            $user = new Model_Contacts();
            $droitsUser = $user->getDroits($id);
            $controller = $request->getControllerName();
            $action = $request->getActionName();
            
            if($acl->has($controller)){
                foreach($droitsUser as $droit){
                    if($acl->isAllowed($droit->droits_libelle, $controller, $action)){
                        $isAllow = true;
                        break 1;
                    }else{
                        $isAllow = false;
                    }
                }
                
                if(!$isAllow){
                    $request->setControllerName(''); //definition controller vide
                    $request->setActionName('');
                    Zend_Layout::getMvcInstance()->disableLayout();
                    throw new Zend_Acl_Exception("Resource '$controller' n'est pas accessible");
                    
                    
                }
            }
        }
    }
}

Dernière modification par jfrag (23-11-2009 16:33:39)

Hors ligne

 

#2 23-11-2009 16:33:17

jfrag
Membre
Date d'inscription: 13-11-2009
Messages: 37

Re: [RESOLU]Zend_Acl verification dans un plugin controller

Bon je m'embête pour rien j'ai créer une action specifique dans mon controller error et je l'appel dans mon plugin.
Problème résolu.

PS : si vous voulez des infos sur la mise en plac d'un plugin de gestion des acl posté un message ici je vous répondrez. wink

Dernière modification par jfrag (23-11-2009 16:34:41)

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