Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 21-05-2013 11:29:25

flfaure
Nouveau membre
Date d'inscription: 21-05-2013
Messages: 3

Accés privé à un module

Bonjour,

j'aimerai privatisé l'accès à un module de mon site.
J'entends par là que l'utilisateur doit être identifié pour accéder à ce module.
j'utilise le ZfcUser pour authentification.

J'ai donc commencé à tester dans chaque action de chaque contrôleur si l'utilisateur est identifié mais je trouve ça assez lourd à faire surtout que j'ai beaucoup de contrôleurs et d’actions.

Puisque le module entier est privé ,n'y a-t-il un moyen plus simple de faire ?

Merci

Hors ligne

 

#2 21-05-2013 11:38:54

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Accés privé à un module

Salut tu dois pouvoir faire ça avec des ACLs le module RBAC de Spiffy le fait. Je ne l'ai pas testé mais si ton module est accessible via une route tu peux bloquer l'accès à la route mère et on en parle plus smile

Hors ligne

 

#3 21-05-2013 11:40:38

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Accés privé à un module

Bonjour,
tu peu utiliser la fonction dispatch de ton controler.
Elle s'exécutera au début de chacune de tes actions dans ce controleur

tu peu faire un truc du type:

Code:

 public function dispatch(Request $request, Response $response = null) {

        //$CheckIdentify = false;
        $CheckIdentify->checkIsIdentify();
        if(!$CheckIdentify)
            return $this->redirect()->toUrl('/my-redirect-url');      
  
        return parent::dispatch($request, $response);
    }

Après je crois qu'il existe une manière de dire à ton application de ne pas charger certains modules mais je ne pourrais pas t'aider la dessus.

Hors ligne

 

#4 21-05-2013 14:03:38

flfaure
Nouveau membre
Date d'inscription: 21-05-2013
Messages: 3

Re: Accés privé à un module

merci pour vos réponses.
J'ai mis en place mon test sur la fonction dispatch et ça fonctionne très bien.

Par contre, il faut le faire le test dans tous les controller mais c'est toujours mieux que toutes les actions.
Je vais voir si j'ai le temps de regarder un peu RBAC.

Merci

Hors ligne

 

#5 21-05-2013 14:33:44

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Accés privé à un module

Si tu souhaites utiliser la fonction dispatch tu peux créer un contrôleur global que tes contrôleurs vont étendre. De cette façon tu le code qu'une seule fois. En contrepartie tu vas devoir faire un test supplémentaire pour tester la route pour éviter de rediriger sur toute l'application.

Hors ligne

 

#6 21-05-2013 14:43:46

flfaure
Nouveau membre
Date d'inscription: 21-05-2013
Messages: 3

Re: Accés privé à un module

oui j'y ai pensé aussi finalement et c'est ce que j'ai fait. J'ai crée un AbstractController, avec le dispatch dedans, dont vont hériter tous les contrôleurs du module.
Je renvoi une 403 si l'utilisateur n'est pas logguer.
merci

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