Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-03-2012 17:56:00

souhiji
Nouveau membre
Date d'inscription: 14-12-2008
Messages: 4

Soucis de persistance de l'authentification

Bonjour à tous,

Pour les besoins d'un projet, je développe une application fonctionnement essentiellement par appels webservices (REST). Pour fixer l'idée, je prendrais l'exemple du login. Une fois son login et son pwd saisie, la vérification fait 1 appel sur un server Rest, qui me renvoie une clé une fois authentifié. Pas de soucis particulier jusqu'ici, tout va bien. Mon soucis vient du fait qu'une fois authentifié, je ne parviens pas à conserver la persistance durant ma visite, et ceci, même après avoir essayé les méthodes décrites dans la doc.

PS: C'est ma première réalisation concrète avec zend

- J'utilise un plugin qui étends Zend_Controller_Plugin_Abstract que je décris de cette manière:

Code:

public function preDispatch(Zend_Controller_Request_Abstract $request)
  {
    $auth = Zend_Auth::getInstance();
    $requestPath = $request->getPathInfo();
    $pathParts = explode('/', $requestPath);
    
     if(count($pathParts) > 1)
    {
      $controller = $request->getControllerName();
      $action = ($request->getActionName()) ? $request->getActionName(): '';
      $module = $request->getModuleName();
      
      if(!$auth->hasIdentity())
      {
        $session = new Zend_Session_Namespace('Coyote_Session');
        $session->goToAfterLogin = $request->getPathInfo();
        $request->setModuleName($module)
                ->setControllerName('auth')
                ->setActionName('index')
                ->setDispatched(true);
       
      }else{
        $session->goToAfterLogin = $request->getPathInfo();
        $request->setModuleName($module)
                ->setControllerName($controller)
                ->setActionName($action)
                ->setParams(
                      array(
                          'module' => 'default',
                          'controller'=> 'index',
                          'action' => 'index',
                      )
                  )
                ->setDispatched(true);
      }
    }

Cela dit, je soupçonne cette méthode d'être à l'origine de mon soucis. Auriez-vous l'amabilité de me dire ce que vous  en pensez? Et si je suis dans le faux n'hésitez surtout pas à me faire part de vos solutions je suis preneur smile

Au cas où ça ne serais pas explicite, j'essai de réaliser un plugin qui me permettra de rediriger si oui ou non je suis identifier:
Mon process:

Entrée: index -> si $auth->hasIdentify()-> la page à laquelle on souhaite accéder(tout en conservant la persistance) sinon -> loginpage.

Merci.

PS: Si ce post n'est pas fait au bon endroit, je vous prie de bien vouloir m'en excuser d'avance.

Hors ligne

 

#2 05-01-2013 14:30:56

lennibarroni
Nouveau membre
Date d'inscription: 05-01-2013
Messages: 1

Re: Soucis de persistance de l'authentification

souhiji a écrit:

Bonjour à tous,

Pour les besoins d'un projet, je développe une application fonctionnement essentiellement par appels webservices (REST). Pour fixer l'idée, je prendrais l'exemple du login. Une fois son login et son pwd saisie, la vérification fait 1 appel sur un server Rest, qui me renvoie une clé une fois authentifié. Pas de soucis particulier jusqu'ici, tout va bien. Mon soucis vient du fait qu'une fois authentifié, je ne parviens pas à conserver la persistance durant ma visite, et ceci, même après avoir essayé les méthodes décrites dans la doc.

PS: C'est ma première réalisation concrète avec zend

- J'utilise un plugin qui étends Zend_Controller_Plugin_Abstract que je décris de cette manière:

Code:

public function preDispatch(Zend_Controller_Request_Abstract $request)
  {
    $auth = Zend_Auth::getInstance();
    $requestPath = $request->getPathInfo();
    $pathParts = explode('/', $requestPath);
    
     if(count($pathParts) > 1)
    {
      $controller = $request->getControllerName();
      $action = ($request->getActionName()) ? $request->getActionName(): '';
      $module = $request->getModuleName();
      
      if(!$auth->hasIdentity())
      {
        $session = new Zend_Session_Namespace('Coyote_Session');
        $session->goToAfterLogin = $request->getPathInfo();
        $request->setModuleName($module)
                ->setControllerName('auth')
                ->setActionName('index')
                ->setDispatched(true);
       
      }else{
        $session->goToAfterLogin = $request->getPathInfo();
        $request->setModuleName($module)
                ->setControllerName($controller)
                ->setActionName($action)
                ->setParams(
                      array(
                          'module' => 'default',
                          'controller'=> 'index',
                          'action' => 'index',
                      )
                  )
                ->setDispatched(true);
      }
    }

Cela dit, je soupçonne cette méthode d'être à l'origine de mon soucis. Auriez-vous l'amabilité de me dire ce que vous  en pensez? Et si je suis dans le faux n'hésitez surtout pas à me faire part de vos solutions je suis preneur smile

Au cas où ça ne serais pas explicite, j'essai de réaliser un plugin qui me permettra de rediriger si oui ou non je suis identifier:
Mon process:

Entrée: index -> si $auth->hasIdentify()-> la page à laquelle on souhaite accéder(tout en conservant la persistance) sinon -> loginpage.

Merci.

PS: Si ce post n'est pas fait au bon endroit, je vous prie de bien vouloir m'en excuser d'avance.

logo design in dubai


Bollywood news excites people of India the most. When you are searching for hot celebs, indian actress, telugu actress, hot actress photos, malayalam actress you first must at  Hamara Movie's website!

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