Witam,
mam aplikacje postawioną na postgresie. Hasło jest hashowane algorytmem 'sha256' i jest dodatkowo solone (kolumna 'sol' w tabeli 'uzytkownicy').
Próbuje zrobić logowanie w ten sposób:
  1. $authAdapter = new Zend_Auth_Adapter_DbTable($mUzytkownicy->getAdapter(),'uzytkownicy');
  2. $authAdapter->setIdentityColumn('login')->setCredentialColumn('haslo');
  3. $authAdapter->setIdentity($data['login'])->setCredential($data['haslo']);
  4. //$authAdapter->getDbSelect()->where('status = 1');
  5. $authAdapter->setCredentialTreatment('digit(CONCAT(?,sol), \'sha256\')');
  6. // $authAdapter->setCredentialTreatment('? and status = 1');
  7. //$select = $authAdapter->getDbSelect();
  8.  
  9.  
  10. $result = $auth->authenticate($authAdapter);

czyli chce żeby adapter sprawdził akywnych użytkowników (status = 1) oraz połączył kolumne 'haslo' i 'sol' i hashował poprzez SHA256 i dostaje błąd
Cytat
Message: The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity.

Jak powinna wyglądać metoda setCredentialTreatment?