Přihlašování uživatelů – změna dat v sessions

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

Zdravim.
Podle Píšeme první aplikaci! jsem si napsal jednoduchou aplikaci pro přihlášení uživatelů.
Dodělal jsem si formulář pro změnu jména uživatele.
Jak nyní upravit session aktuálne přihlášeného uživatele, pokud si změní jméno? Protože v db je nastavené nové jméno ale v sessions je uloženo stále staré jméno.
Generovat novou session mi přijde prasárna. Je možné šáhnout do sessions a změnit požadovaný údaj?

Nemohu s tím pohnout.

Děkuji za nakopnutí

Jan Tvrdík
Nette guru | 2595
+
0
-

@motorcb: Můžeš uživatele znovu odhlásit a přihlásit. Nebo mít v identitě (která je v session) uložené pouze id uživatele a zbytek načítat při každém požadavku znovu.

rixi
Člen | 109
+
0
-

Jan Tvrdík wrote:

@motorcb: Můžeš uživatele znovu odhlásit a přihlásit. Nebo mít v identitě (která je v session) uložené pouze id uživatele a zbytek načítat při každém požadavku znovu.

Takto to riesim tiez. Z $user->getIdentity() ziskavam iba id, ostatne parametre povazujem za „menitelne“, takze ich vytahujem z tabulky users.

VojtaSim
Člen | 55
+
0
-

Pokud ti souhlasí názvy vlastností v DB a prvků ve formulářích tak můžeš při odesílání formuláře použít:

foreach($values as $key => $value)  // kde $values jsou hodnoty v formuláře
	$this->user->getIdentity()->$key = $value;