Jak na kontrolu oprávnění, a nasledné přesměrování
- Domki
- Člen | 310
Chtěl bych se zeptat jak na zabezpečení aplikace.
Zde: https://doc.nette.org/…editing-form
jsem se dočetl že by se to mělo provadet v kazdem podadavku(odeslani formu,
handle, action..)
Nestačí když to okontroluji v startup funkci, proc?
Pokud ne má tedy neco jako isInRole(..) být na zacátku katde funkce
action, formSucceeded, hande.. ?
Zkoušel jsem takovy nástřel, ale jak to řešit pokud odkaz na handle mám
přes ajax tedy se odešle ajaxem?
Rád bych aby kdyz nema opravnění se přesmerovalo redirectem na Sign:in ale
to nefunguje, operace sice neprobehne ale nedojde k přejiti na novou stranku
jak toto tedy pořešit?
Díky
- Jan Mikeš
- Člen | 771
Pro 404 a 403 v presenteru používám jednoduše
$this->error()
a
$this->error(NULL, IResponse::S403_FORBIDDEN)
případně
$this->error(NULL, IResponse::S401_UNAUTHORIZED)
→ 401 pouze
v případě REST API, jinak redirect na login page.
Pokud to použiješ mnou popsaným způsobem, požadavek uživatele zpracuje
error presenter a vykreslí se příslušná šablona → např.
404.latte
.
- Jan Mikeš
- Člen | 771
Ano, pokud se koukneš do zdrojového
kódu presenteru pak si všimneš, že $this->error()
není
nic jiného než kratší a nette-way zápis pro vyhození výjimky
v presenteru ;)
- Jan Mikeš
- Člen | 771
O zpracování nezachycených výjimek se stará Application::processException()
pokud je to možné tak je posílá na tebou nastavený error presenter ;)
Editoval Jan Mikeš (5. 12. 2016 9:01)