Kam s nastavením onLoggedOut[]?
- smi
- Člen | 75
Mám problém s logování odhlášení uživatele. Když si nastavím událost onLoggedOut[] v přihlašovacím tlačítku, tak v dalších skriptech nastavena není ⇒ 3 dotazy:
- kde vlastně správně nastavovat událost onLoggedOut[] ?
- může k tomu být použit callback ?
(v příkladech je uvedeno onLoggedOut[] = array($logger, ‚metoda‘),
ale co je to $logger – presenter, třída, … ?) - nemusí být ta metoda statická ?
Díky za radu či nasměrování (snad kromě nasměrování tam :o) )
Používám verzi 2.0 Alfa 2
Editoval smi (26. 5. 2011 11:01)
- bojovyletoun
- Člen | 667
- nastavuješ onLoggedOut[] na začátku aplikace? To je podle mě důležité, jinak se stane, že uživatel se odhlásí a event zaregistruješ příliš pozdě
- lze použít cokoli : nette z toho udělá callback, pokud není.
- Nemusí být statická. to je právě případ, kdy předáš instanci $logger, v jiných případech je logicky statická. Může to být i klasická funkce „print_r“ nebo anonymní funkce
Editoval bojovyletoun (26. 5. 2011 11:47)
- smi
- Člen | 75
bojovyletoun napsal(a):
- nastavuješ onLoggedOut[] na začátku aplikace? To je podle mě důležité, jinak se stane, že uživatel se odhlásí a event zaregistruješ příliš pozdě
- lze použít cokoli : nette z toho udělá callback, pokud není.
- Nemusí být statická. to je právě případ, kdy předáš instanci $logger, v jiných případech je logicky statická. Může to být i klasická funkce „print_r“ nebo anonymní funkce
Když mám nastavení onLoggedOut[] ve startup(), tak to funguje.
Očekaval jsem ale, že to stačí nastavit uživateli před loginem a Nette si
to zapamatuje (protože mám pocit, že kromě mluvení umí snad všechno :o)
). A to asi tak není.
Jinak díky za navedení.
Editoval smi (26. 5. 2011 12:11)
- bojovyletoun
- Člen | 667
- Radši bych to dal ještě dříve (včas) (do té doby handler není nastaven a nefunguje). Jádrem je, že nevíš, kdy přesně se volají metody, které volají getSessionNamespace, která obsahuje volání onLoggedOut. Proto to musí být co nejdříve.
- Druhá věc je to nastavit (globálně). Aby to nefungovalo jen v nějakém konkrétním presenteru.
Editoval bojovyletoun (26. 5. 2011 13:33)
- smi
- Člen | 75
bojovyletoun napsal(a):
- Radši bych to dal ještě dříve (včas) (do té doby handler není nastaven a nefunguje). Jádrem je, že nevíš, kdy přesně se volají metody, které volají getSessionNamespace, která obsahuje volání onLoggedOut. Proto to musí být co nejdříve.
- Druhá věc je to nastavit (globálně). Aby to nefungovalo jen v nějakém konkrétním presenteru.
Mám něco jako ProtectedPresenter ok kterého jsou odvozene všechny presentery, které jsou podmíněné loginem. StartUp tohohle ProtectedPresenteru by mohl obsahovat to nastaveni onLoggedOut[].