1
Ich habe ein einfaches Crud-System mit ZF2 und Oracle.Orakel Uppcase Spalte Zend Framework 2 Authentifizierung
Aber Oracle hat ein Problem mit Spaltennamen: Sie kamen immer in Großbuchstaben.
Ich war Manager in der Lage diesen Code in Einheiten hinzugefügt:
public function exchangeArray(array $data)
{
$dataInner = array();
foreach ($data as $key => $value) {
$dataInner[strtolower($key)] = $value;
}
...
So weit, so gut! Alles System läuft perfekt.
Aber Problem ist jetzt Login.
Nach einer gültigen Anmeldung ich Benutzer aus der Datenbank abrufen
public function authenticate(){
$zendDb = $this->sm->get('\Zend\Db\Adapter\Adapter');
$adapter = new DbTable($zendDb);
$adapter->setIdentityColumn('identity')
->setTableName('user')
->setCredentialColumn('credencial')
->setIdentity($this->identity)
->setCredential($this->credential);
$authentication = new AuthenticationService();
$authentication->setAdapter($adapter);
$result = $authentication->authenticate();
if ($result->isValid()) {
$usuario = $authentication->getAdapter()->getResultRowObject(null, "CREDENCIAL");
/*
$usuario == object(stdClass)#285 (3) {
["ID"]=> string(1) "1"
["IDENTITY"]=> string(5) "bruno"
["CREDENTIAL"]=> string(5) "admin"
}
*/
$authentication->getStorage()->write($usuario);
return true;
} else {
$this->messages = $result->getMessages();
return false;
}
}
Controller:
$authentication = new AuthenticationService();
$this->layout()->setVariable('user', $authentication->getIdentity());
return array('user'=>$authentication->getIdentity());
Ansicht
echo $this->user->IDENTITY;
Was kann ich tun
zu verwendenecho $this->user->identity;
statt
echo $this->user->IDENTITY;
, wie Sie Daten von Oracle erhalten, den Code schreiben, wenn Sie helfen wollen ... –
die Informationen stammen von hier '$ authentication-> getAdapter() -> getResultRowObject (null," credencial ");' aber wenn Sie vollständige Methode sehen möchten, habe ich ein Update –