Nette\Security\Identity pridani atributu prihlasenemu uzivateli
- saimons
- Člen | 293
Chci se zeptat jestli se da dodatecne pridat atribut do Nette\Security\Identity. Jde o to ze uzivatel ma nastavenou timezone a napriklad pokud se registruje tak ji jeste nema vyplneneou, nebo kdyz ji v prubehu zmeni. Klasicky se zmena projevi po novem prihlaseni, ale jestli je to mozne nastavit i jinak za chodu?
- saimons
- Člen | 293
Diky za odpoved ale tohle mi prave nefungovalo, tady je kod jak jsem to napsal:
<?php
if (isset($this->user->getIdentity()->timezoneName)) {
$this->dateTimeZone = new \DateTimeZone($this->user->getIdentity()->timezoneName);
} else {
$identity = new \Nette\Security\Identity($this->user->id);
$identity->timezoneName = $this->context->introHome->getTimeZone() ?: NULL;
\Nette\Diagnostics\Debugger::barDump($this->user->getIdentity()->timezoneName);
die();
}
?>
Dump mi vrati NULL, jako chapu asi proc, je to jina instance, ale jakym zpusobem ty data dostanu do instance $this->user (Nette\Security\User).
Editoval saimons (16. 8. 2012 15:03)
- saimons
- Člen | 293
Jako ze bych nekde v BasePresenteru pro zabezpecenou cast testoval session kde by byli uzivatelske nastaveni, popripade vytvoril a naplnil daty (kdyby vyprsela) a tu pak pouzival napric aplikaci? Jako asi by to bylo logictejsi. Muzes mi prosim pro moji zvedavost nastinit jak bych pristoupil k te instanci ve ktere je to ulozene? Mam pristup k Nette\Security\User ale ta nema zadne funkce na pridani polozek k identite?