storeRequest uloží cookie, restoreRequest ji už nenajde

edas229
Člen | 13
+
0
-

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');
}
F.Vesely
Člen | 368
+
0
-

Ten odkaz se uklada do session, kterou ty smazes volanim logout(true). Zkus dat misto toho logout(false), abys nemazal tu session.

edas229
Člen | 13
+
0
-

F.Vesely napsal(a):

Ten odkaz se uklada do session, kterou ty smazes volanim logout(true). Zkus dat misto toho logout(false), abys nemazal tu session.

Bohužel s logout(false) jsem zkoušel a nepomohlo to, nemůžu vykoumat, kde se to zasekává.

David Grudl
Nette Core | 8111
+
0
-

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 | 1165
+
0
-

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

edas229
Člen | 13
+
0
-

Mabar napsal(a):

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

Yes nakonec jsem to tak vyřešil. Všem díky!