Update USER DATA v Identity za behu
- Ja
- Člen | 260
Ahoj,
potreboval bych po vykonani nejake akce updatovat user data ve tride Identity, vidim ze je tam getIdentity, ale setIdentity ne, je pro to nejaky duvod? Pro role tam je setter i getter.
Mohl bych to rucne prepisovat skrz $this->getUser()->getIdentity()->jmeno = ‚Franta‘; ale to mi prijde krkolomne, kdyz bych si mohl vratit aktualni stav uzivatele z databaze a pres nejake setIdentity($model->getUser())); tam ulozit cely aktualni stav uzivatele.
Diky za odpovedi a navedeni.
- David Matějka
- Moderator | 6445
Nette\Security\User pouziva k ukladani identity Nette\Http\UserStorage. je tedy moznost nastavit identitu $this->user->storage->identity = $identity;
ja to resim ale tak, ze mam vlastni identitu, ktera pri serializaci uklada akorat id uzivatele. potom staci zdedit Nette\Http\UserStorage, ktere pridam zavislost na nejakem UserRepository a prepsat metodu getIdentity, aby do te identity, kde je jen id podle toho id nacetlo i dalsi data. a nakonec to nove UserStorage nastavit jako tridu pro sluzbu nette.userStorage