Smazání identity po vypršení expirace

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

Zdravím, nemůžu v dokumentaci najít jak smazat identitu uživatele poté, co vyprší časová sessions. User je sice Unlogged, ale identita zůstává. Mám nastaveno v configu autostart, metodu logout pro odhlašování volám s parametrem true, ale to asi na vypršení expirace nemá vliv že?

Marsme
Člen | 75
+
0
-

K čemu to reálně potřebuješ? To že je uživatel po vypršení sessiony odhlášen a zůstane mu identita není vůbec na škodu. Dá se to krásně využít. Můžeš mu nabídnout přihlášení atd…

víc info je https://doc.nette.org/…thentication#…

lukendo
Člen | 96
+
0
-

no jelikož nepoužívám ACL tak u jedné akce presenteru kontroluji jenom jestli má uživatel správné id role, tak jsem tam teda ještě přidal podmínku na to jestli je přihlášen

Barvoj
Člen | 60
+
+1
-

kontroluji jenom jestli má uživatel správné id role, tak jsem tam teda ještě přidal podmínku na to jestli je přihlášen

To by nemělo být nutné.. Pokud používáš Nette\Security\User, tak metoda getRoles již tuto podmínku obsahuje

Pokud tedy voláš $user->isInRole(...) a uživatel není přihlášen, tak ti to pro všechny role krom guest bude vracet false.

Editoval Barvoj (25. 8. 2016 15:53)

CZechBoY
Člen | 3608
+
0
-

Lepší je stejně použít ACL a ptát se jestli má uživatel práva provádět danou akci. K čemu potom ty oprávnění v aplikaci jsou když je emuluješ přes ptaní se na role?

Obecně nevim k čemu vlastně je dobrý vědět jakou má uživatel roli (jakože z vnějšku přes $user->isInRole()).