Zjištění informací o přihlášeném uživateli
- TomasHuttner
- Člen | 66
Dobrý den, chtěl bych se zeptat jak zjistit více informací o uživateli než jen id pomocí:
{if ($user->isLoggedIn())}
<span class="icon-user"></span> <b>uživatel:</b> {$user->id}
{else}
<p>Nejste přihlášeni</p>
{/if}
- Jiří Nápravník
- Člen | 710
Tam, kde tvoříš Identitu, napln ty data v konstruktoru
new Identity($id, $roles, array(‚nick‘ ⇒ ‚pepazdepa‘));
a v latte pak:
$user->identity->nick
- Šaman
- Člen | 2666
Tohle se mi moc neosvědčilo. Pokud se například přihlašuješ emailovou
adresou a můžeš si tedy měnit nick, tak po změně se to v tvém výpisu
neprojeví, protože v identitě máš stálo to, cos nastavil při
přihlášení. Já v těch datech nemám raději nic, resp. časem jsem si tam
uložil nick a pole rolí, ale jen pro potřeby ladění,
protože je pak v debugBaru vidět základní info o přihlášeném.
Všechno, co chci zobrazit, načítám z databáze – tam jsou platná
data.
P.S. Totéž platí o rolích. Pokud by přihlášenému uživateli admin
změnil roli, tak se změna projeví až po novém přihlášení, což může
nastat až za dlouhou dobu (klidně měsíce, pokud je uživatel přihlásen
trvale). Identita se totiž udržuje v session.
- Jiří Nápravník
- Člen | 710
Šaman: to se pak při každém requestu ptáš databáze, na nick, který svítí na každé stránce? Podle mě tohle řeší, když může změnit nick uživatel či nějaká další data refresh po uložení změn (předpokládám, že to v nette jde, v jiném frameworku jsem to tak řešil).
Pokud může změnit data administrátor, tak souhlasím to je celkem problém, snad jedine třeba refresh té session každých pět minut u uživatele…
- David Matějka
- Moderator | 6445
ja pouzivam upravenou identitu a userstorage, ze je pri kazdem nacteni identita cerstva. inspirace treba tady nebo treba majklova identita