2012-10-30 11 views

risposta

9

Questo dovrebbe essere fatto con l'evento in ZF2 per ulteriori dettagli: click here anche questo codice può essere d'aiuto. http://pastebin.com/FFGVCpki

public function init() { 
    // Attach Event to EventManager 
    $events = StaticEventManager::getInstance(); 

    // Add event of authentication before dispatch 
    $events->attach ('Zend\Mvc\Controller\AbstractActionController', 'dispatch', array (
      $this, 
      'authPreDispatch' 
    ), 110); 
} 
public function authPreDispatch($event){ 
$target = $event->getTarget(); 
$serviceLocator = $target->getServiceLocator(); 
// Do what ever you want to check the user's identity 
$url = $event->getRouter()->assemble (array (
        "controller" => "<controller>" 
      ), array (
        'name' => '<route name>' 
      )); 
$response = $event->getResponse(); 
     $response->setHeaders ($response->getHeaders()->addHeaderLine ('Location', $url))); 
     $response->setStatusCode (302); 
     $response->sendHeaders(); 
     exit(); 
} 
+2

C'è modo più bello per reindirizzare dal modulo. php? Non mi piace davvero inviare le intestazioni direttamente, senza utilizzare i meccanismi interni di reindirizzamento di ZF. –

2

A qualcuno piace:

$e->getRouteMatch() 
->setParam('controller', 'Application\Controller\Login') 
->setParam('action', 'login'); 
Problemi correlati