aktualizace indentity za běhu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
docky
Člen | 59
+
0
-

Ahoj ,
potřeboval bych poradit jak někomu změnit identitu bez toho aby se znova přihlásil.
Děkuji všem za odpověď. :)

Lukeluha
Člen | 130
+
0
-
$this->getUser()->getIdentity()->data = "zmenena hodnota";
iguana007
Člen | 970
+
0
-

Dalo by se to řešit tak, že si po editaci dane identity/uzivatelskeho profilu ulozis nejaky hash vychazejici ze submitnutych dat a pokud by hash nesedel s tim co je v session, tak by si spustil u daneho uzivatele invalidaci dat v identity – to by melo jit normalne prepisovat:

$this->getUser()->getIdentity()->email = "novy@email.com"; //atd.

Edit: Pozdě :D

Editoval iguana007 (12. 6. 2015 16:23)

docky
Člen | 59
+
0
-

$this->getUser()->getIdentity()->data = „zmenena hodnota“; není tohle jen u mě ? já to potřebuju udělat u jiného člena :)

akadlec
Člen | 1326
+
0
-

Jako chceš někomu jinému přihlášenému měnit data v jeho identitě?

TOMeek
Člen | 64
+
0
-

Napadá mě aktualizovat data v identitě po nějaké době (refresh stránky?) údajema z DB. Takže když bys změnil data v DB, po refreshi stránky se změní data v identitě. Nejsem si ale jistý čistotou a náročností na DB takového řešení.

thm
Člen | 147
+
0
-

Zrovna jsem to teď řešil, nakonec jsem to udělal tak, že v basePresenteru vytáhnu z DB dle $user->id sloupec forceLogout – boolean a když je TRUE prostě ho odhlásím s hláškou, že byla změněna práva vztahující se k jeho účtu. Role a další informace v identity jsou v session, což je takové nepraktické. Také jsem potřeboval za běhu změnit, ale vzhledem k náročnosti závislostí v mém ACL jsem se rozhodl pro toto řešení (ohlásit ho).

Jinak asi bych to udělal tak jak říká @TOMeek, resp. z DB sloupec např. refreshIdentity ? ->updateIdentity : jinak nic nedělej. Snad ten jeden dotaz na bool hodnotu jednoho sloupce aplikaci moc nezatíží.(?)

Editoval thm (12. 6. 2015 20:47)

David Matějka
Moderator | 6445
+
+1
-

voe nereste tu picoviny kraviny, nejlepsi je proste prekryt implementaci userstorage. #drunktyt, ale stejne mam pravdu! :P

docky
Člen | 59
+
0
-

thm – prostě ho odhlásím s hláškou.

Díky , to udělám

Editoval docky (13. 6. 2015 15:43)