$row->toArray() illegal offset type
- Jan Mikeš
- Člen | 771
Nette mi hlasi nasledujici chybu v authenticatoru: http://develop.hgda.cz/Warning.htm
Stejny authenticator pouzivam v X dalsich projektech kde jede bez
problemu.
Pokud $row->toArray()
nahradim napr za null
vytvori
se mi sice prazdna identita ale uzivatel se normalne prihlasi. Nejaky napad proc
ActiveRow->toArray() vyhazuje tento warning?
- Chenny
- Člen | 2
Hoj, Nette teprve zkoumám a na tohle jsem taky před pár dny narazil.
Pomohlo mi za ten druhý parametr (NULL) dosadit array s rolemi:
$roles = array('member','admin');
Což asi není ideální
řešení, když žádné role nechceš používat a NULL potřebuješ.
row->toArray()
mi pak už fungovalo, ale pro změnu mi
pomocí unset(row->password)
nejde odstranit údaj s heslem a
v identity se mi stále zobrazuje (byť v zahashované podobě).
Tak nevím jestli to celé spolu nějak souvisí…
- Chenny
- Člen | 2
Tak jen pro info: ten problém s nefunkčním
unset($row->password);
v authentikátoru jsem
obešel takto:
<?php
public function authenticate(array $credentials){
//...
$rowArrayed = $row->toArray();
unset($rowArrayed['password']);
return new NS\Identity($row->id,$roles,$rowArrayed);
}
?>