storeRequest uloží cookie, restoreRequest ji už nenajde
- edas229
- Člen | 13
Ahoj, chci teď udělat přesměrování po odhlášení zpět na stránku, kde byl uživatel.
Přes storeRequest vytvořím cookie a vidím ji i v Tracy. Předám ten pětimístný kód, pod kterým je uložena a volám pak restoreRequest. Ten má však Nette.Application/requests úplně prázdný. Napadá vás někoho, kde by se to mohlo ztratit?
1. storeRequest v BasePresenteru
$this->template->acctualRequest = $this->storeRequest();
2. V latte předávám do action logout
n:href=":Login:Homepage:Default $acctualRequest"
3. Proběhne logout
public function actionLogout($backlink=null)
{
$this->user->logout(true);
$this->toastMessage("Odhlášení proběhlo úspěšně.", "success");
$this->goBack($backlink);
}
4. spouští se funkce goBack
public function goBack($backlink = null)
{
if(!is_null($backlink)) {
$this->restoreRequest($backlink);
}
$this->redirect(':Web:Homepage:Default');
}
- David Grudl
- Nette Core | 8239
Request uložený pod jedním přihlášeným uživatelem nejde obnovit pod jiným (nebo nepřihlášeným) uživatelem, z bezpečnostních důvodů.
- Marek Bartoš
- Nette Blogger | 1280
Místo ukládání requestu by ti mohlo stačit do url vložit query parametr s url, na kterou chceš uživatele vrátit