SecuredPresenter a následné znovuověření přihlášení uživatele
- ViPEr*CZ*
- Člen | 817
radosh napsal(a):
Ahoj. U Úkolovníčku jsem se zastavil u SecuredPresenteru. Mohl by mi někdo vysvětlit, proč je nutné v mětodě
createComponentNewTasklistForm()
znovu testovat přihlášení uživatele? TaskPresenter už přece dědí od SecuredPresenteru, kde se tohle řeší.
Děkuji za vysvětlení.
Pokud se v „základním“ Presenteru děje ověření zalogování v metodě startup, pak není potřeba ověřovat v potomkách. Tam už se maximálně ověřují oprávnění.
PS: nevím jak vypadá ten Váš kód co popisujete.
Editoval ViPEr*CZ* (11. 4. 2012 14:06)
- radosh
- Člen | 4
Je to z quickstartu ze stránek nette
Konkrétně se jedná o následující vysvětlující odstavec:
Nyní však máme v aplikaci bezpečnostní slabinu: formulář pro
založení seznamu úkolů sice zmizel, ale pokud pošleme správná data,
formulář se nám vytvoří a provede vložení do databáze. Ověření, zda
je uživatel přihlášen, je nutné provést také při vytváření
formuláře.
- ViPEr*CZ*
- Člen | 817
Hmm to abych se přiznal, tak ani už zas nevím… používám ve 100% případů rozdělení akcí na oprávnění a tudíž nezalogovaný uživatel by stejně neprošel. V tomto jednoduchém případě je otázka, kdy se volá createComponent a následné spracování akce submitu a kdy se volá startup? Podle obrázku životního cyklu Presenteru by totiž (předpokládal bych to) startup měla předcházet čemukoliv a tudíž ověření zda-li je uživatel přihlášen by se mělo provést ještě dříve než volání akce submit. Podle toho tutoriálu to vypadá, že to neplatí… to schválně zkusím otestovat.
PS: hmmm tak to je divný v tom tutoriálu… vyzkoušel jsem si zalogovat co se stane dříve
[2012-04-11 15-01-26] startup @ http://rs.localhost/admin/
[2012-04-11 15-01-30] startup @ http://rs.localhost/admin/?do=loginForm-submit
[2012-04-11 15-01-30] login submit @ http://rs.localhost/admin/?do=loginForm-submit
[2012-04-11 15-01-30] startup @ http://rs.localhost/admin/
Je tam vidět, že když jsem odeslal formulář, tak se dříve provedla metoda startup a až poté se spracoval submit. Asi osvětlí někdo víc osvícený ;-)
Editoval ViPEr*CZ* (11. 4. 2012 15:03)
- Václav Mašín
- Člen | 34
Přidávám se, že by mě tohle taky docela zajímalo – při procházení aktuálního tutoriálu mi tohle místo také nebylo moc jasné.
- davidm
- Člen | 81
btw jestli to nebude tim ze ta komponenta je v BasePresenteru kterej od secured nededi :P tzn kazdej presenter kterej dedi od base by ji moh beztrestne vytvorit …