Zend Auth + Postgres, não encotro esquema

Zend_Db, Zend_Db_Table, Zend_Db_Xml

Moderador: diegotremper

Zend Auth + Postgres, não encotro esquema

Mensagempor rmarlley » Qui Jan 28, 2010 11:31 am

Bom dia,

estou começando com Zend e estou com alguns problemas com o banco postgres, quero fazer uma auth para usuario logar e naum consigo que ele encontre o meu squema seguranca, vejam o código abaixo

-------------- ini
; -----------------------------------------------------------------------
[development : production]
; -----------------------------------------------------------------------
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

db.adapter = PDO_PGSQL
db.params.host = IP
db.params.username = postgres
db.params.password = p@ssword
db.params.dbname = banco
date_default_timezone = "Brazil/East"

--------------- um controller que quero usar para logar
Código: Selecionar tudo
$request    = $this->getRequest();
        $registry   = Zend_Registry::getInstance();
        $db = Zend_Registry::get('db');
        $authAdapter = Zend_Registry::get('authAdapter');

       $authAdapter->setTableName('usuario')
                    ->setIdentityColumn('ide_usuario')
                    ->setCredentialColumn('des_status');

        $filter = new Zend_Filter();
        $filter->addFilter( new Zend_Filter_StringTrim() );

        $user = $filter->filter($request->getParam('username'));
        $pass = $filter->filter($request->getParam('password'));

        $authAdapter->setIdentity($user);
        $authAdapter->setCredential($pass);

        $result = Zend_Auth::getInstance()->authenticate($authAdapter);

        if($result->isValid()) {
            $data = $authAdapter->getResultRowObject(null,'password');
            Zend_Auth::getInstance()->getStorage()->write($data);
            $this->_redirect('/principal');
            } else {
            $this->_redirect('/user');
        }

no destaque eh onde acho que esta o erro
Message: The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity.

acho que o erro está em:

$authAdapter->setTableName('usuario')
->setIdentityColumn('ide_usuario')
->setCredentialColumn('des_status');


alguem sabe como chamar esquemas do postgres usando o auth, eu soh seto o esquema nos models.

por que quando coloco no mysql que naum possui esquemas, roda legal, agora no postgres naum, por que a tabela de usuario esta dentro de um esquema chamado seguranca

obrigado!
Avatar de usuário
rmarlley
Membro
 
Mensagens: 9
Data de registro: Dom Jan 10, 2010 12:56 pm

Re: Zend Auth + Postgres, não encotro esquema

Mensagempor vdsantos » Sex Jan 29, 2010 9:35 am

Olá,

já tentou usar o nome da tabela e os nomes dos campos em maiúsculo? Pode ser esse o problema.

Veja também se o seu Adapter do Zend_Auth e do Zend_Db estão mesmo registrados no bootstrap.
Código: Selecionar tudo
$registry->set( 'db', $db ) ;
$registry->set( 'authAdapter', $authAdapter ) ;


Valew
[]'s
vdsantos
Participante
 
Mensagens: 74
Data de registro: Seg Jun 08, 2009 2:38 pm
Localização: Guarulhos - SP

Re: Zend Auth + Postgres, não encotro esquema

Mensagempor rmarlley » Seg Fev 01, 2010 9:34 am

Ola amigo,

Seguinte, tenho certeza que naum eh erro com a aplicação por que basta eu mudar o banco de dados para MySQL que funciona tudo, mas quando coloco o postgres ele naum encontra a tabela, eu fiz o seguinte teste, criei um model com a tabela usuario e setei o esquema segurança, e advinha?!? Funcionou!!

Mas quando uso o Zend_Auth ele não encontra a tabela ou coluna e da o seguinte erro:
The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity.

:( e agora?
Avatar de usuário
rmarlley
Membro
 
Mensagens: 9
Data de registro: Dom Jan 10, 2010 12:56 pm

Re: Zend Auth + Postgres, não encotro esquema

Mensagempor rmarlley » Seg Fev 01, 2010 4:02 pm

Depois de algumas pesquisas a resposta foi mais simples do que eu imaginava, o pedaço que eu achava que estava incorreto ficou assim:

$authAdapter->setTableName('seguranca.usuario')
->setIdentityColumn('username')
->setCredentialColumn('password');


Simples, no lugar de usuario, coloquei seguranca.usuario, que eh o nome do meu esquema, ele pega essa informação e faz um stat, bom naum sei se eh a melhor maneira mais foi a que funcionou
Avatar de usuário
rmarlley
Membro
 
Mensagens: 9
Data de registro: Dom Jan 10, 2010 12:56 pm

Re: Zend Auth + Postgres, não encotro esquema

Mensagempor alexgotardi » Seg Abr 05, 2010 10:50 pm

db.params.schema = seguranca
alexgotardi
Leitor
 
Mensagens: 3
Data de registro: Qua Abr 15, 2009 5:15 pm


Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 0 visitantes