Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/04/2013, 06:09
mandygr87
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Verificar sesion

Hola, yo estoy teniendo problemas con esto. Siguiendo este tutorial [URL="http://otroblogmas.com/zend_auth-identificacion-y-autentificacion-en-zend-framework/"][/URL] he creado este plugin

application/plugins/CheckAccess.php:

Código PHP:
Ver original
  1. <?php
  2. class Plugin_CheckAccess extends Zend_Controller_Plugin_Abstract
  3. {
  4.     /**
  5.      * Contiene el objeto Zend_Auth
  6.      *
  7.      * @var Zend_Auth
  8.      */
  9.     private $_auth;
  10.  
  11.     /**
  12.      * El objeto de la clase singleton
  13.      *
  14.      * @var Plugin_CheckAccess
  15.      */
  16.     static private $instance = NULL;
  17.  
  18.     /**
  19.      * Constructor
  20.      */
  21.     private function __construct()
  22.     {
  23.         $this->_auth =  Zend_Auth::getInstance();
  24.     }
  25.  
  26.     /**
  27.      * Devuelve el objeto de la clase singleton
  28.      *
  29.      * @return Plugin_CheckAccess
  30.      */
  31.     static public function getInstance() {
  32.        if (self::$instance == NULL) {
  33.           self::$instance = new Plugin_CheckAccess ();
  34.        }
  35.        return self::$instance;
  36.     }
  37.     /**
  38.      * preDispatch
  39.      *
  40.      * Funcion que se ejecuta antes de que lo haga el FrontController
  41.      *
  42.      * @param Zend_Controller_Request_Abstract $request Peticion HTTP realizada
  43.      * @return
  44.      * @uses Zend_Auth
  45.      *
  46.      */
  47.     public function preDispatch(Zend_Controller_Request_Abstract $request)
  48.     {
  49.         $controllerName = $request->getControllerName();
  50.  
  51.         // Si el usuario esta autentificado
  52.         if ($this->_auth->hasIdentity()) {
  53.  
  54.         } else {
  55.             // Si el Usuario no esta identificado y no se dirige a la página de Login
  56.             if ($controllerName != 'login') {
  57.                 // Mostramos al usuario el Formulario de Login
  58.                 $request->setControllerName("login");
  59.                 $request->setActionName("index");
  60.             }
  61.         }
  62.     }
  63. }

En aplication.ini he agregado

Código:
resources.frontController.plugins.CheckAccess = "Plugin_CheckAccess"
Y en el action del controlador que quiera usar el plugin tengo que agregar esto no es así?

Código:
$frontController = Zend_Controller_Front::getInstance();
    $frontController->registerPlugin(new Plugin_CheckAccess());
Me aparece este error Fatal error:

Class 'Plugin_CheckAccess' not found in C:\xampp\xampp\php\PEAR\Zend\Application\Resource\ Frontcontroller.php on line 117

No tengo ni idea de por qué me aparece...