Foros del Web » Programando para Internet » PHP » Zend »

Problema con Zend_Auth

Estas en el tema de Problema con Zend_Auth en el foro de Zend en Foros del Web. Hola Gente, llevo trabajando con zend en la version Zend Framework 1.12.1, hace un buen tiempo, he llegado al tema, Zend_Auth, y es aquí donde ...
  #1 (permalink)  
Antiguo 27/11/2013, 10:28
 
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 17 años
Puntos: 1
Problema con Zend_Auth

Hola Gente,
llevo trabajando con zend en la version Zend Framework 1.12.1, hace un buen tiempo, he llegado al tema, Zend_Auth, y es aquí donde tengo algunos problemas,
tengo este un error desde hace 4 dias, que no he podido resolver:

Código PHP:
Strict standardsDeclaration of My_Auth::getStorage() should be compatible with that of Zend_Auth::getStorage() in D:wampwwwVademecumWeb01libraryMyAuth.php on line 52 

mi archivo Auth.php en el library, contiene esto,

Código PHP:
class My_Auth extends Zend_Auth
{

//    public function __construct($namespace) {
//        $this->setStorage(new Zend_Auth_Storage_Session($namespace));
//        // do other stuff
//    }
    
public function __construct(){}
    static function 
getInstance(){
        throw new 
Zend_Auth_Exception('I do not support getInstance');
    } 
    
    
    public function 
getStorage($namespace)
    {
        if (
null === $this->_storage) {
            
/**
             * @see Zend_Auth_Storage_Session
             */
            
require_once 'Zend/Auth/Storage/Session.php';
            
$this->setStorage(new Zend_Auth_Storage_Session($namespace));
        }

        return 
$this->_storage;
    }
    
     public function 
hasIdentity($namespace)
    {
        return !
$this->getStorage($namespace)->isEmpty();
    }
    
    
      public function 
getIdentity($namespace)
    {
        
$storage $this->getStorage($namespace);

        if (
$storage->isEmpty()) {
            return 
null;
        }

        return 
$storage->read();
    }
    

alguien que me pueda ayudar a corregirlo o alguna solución,
de antemano gracias, por el apoyo.

Sldos,
  #2 (permalink)  
Antiguo 27/11/2013, 20:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 1 mes
Puntos: 2135
Respuesta: Problema con Zend_Auth

Revisa el archivo Zend/Auth.php, puedes ver que getStorage() no soporta ningún parámetro, el error te esta diciendo eso, que no puedes sobrecargar el método getStorage y agregarle parámetros, tienes que respetar la misma "firma" de Zend_Auth.

Saludos.
  #3 (permalink)  
Antiguo 28/11/2013, 17:42
 
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 17 años
Puntos: 1
Respuesta: Problema con Zend_Auth

gracias GatorV, por responder, quiza puedas ayudarme con esto,

Lo que estoy queriendo hacer es una aplicacion , multisession, una session x cada tipo de usuario.
Ejm:
Código PHP:
Ver original
  1. -Modulo Frontend
  2.         $_session = new My_Auth();
  3.         $this->isAuth =  $_session->hasIdentity("frontend");
  4.  
  5. -Modulo Distribuidores
  6.         $_session = new My_Auth();
  7.         $this->isAuth =  $_session->hasIdentity("distribuidores");
  8.  
  9. -Modulo Administrador
  10.         $_session = new My_Auth();
  11.         $this->isAuth =  $_session->hasIdentity("backend");


El problema que tengo es al pasar los "nombres", para crear el storage para cada tipo de usuario, me aparece este error en el metodo getStorage($namespace):

Strict standards: Declaration of My_Auth::hasIdentity() should be compatible with Zend_Auth::hasIdentity() in D:\xampp\www\Proyecto\library\My\Auth.php on line 10

y es pq este metodo de la clase, Zend_Auth.php, no recibe parametros.

como puedo modificarlo y solucinar esto,
o de que otra forma puedo manejarlo multisessiones en un proyecto, es decir que se puedan logear varios tipos de usuarios a la misma vez.

gracias de antemano, por la información que me puedas brindar.
  #4 (permalink)  
Antiguo 29/11/2013, 10:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 1 mes
Puntos: 2135
Respuesta: Problema con Zend_Auth

Lo que puedes hacer es solamente usar Zend_Auth para comprobar la autentificación del recurso y posteriormente tú mismo hacer un session namespace con cada "módulo" y ahí verificar si esta loggeado o no.

Etiquetas: auth, framework, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:23.