Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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
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 :
$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
Pages: 1