Redirect na stránku loginu pokiaľ užívateľ nieje prihlásený
- Andurit
- Člen | 131
Čaute,
chcel by som aby užívateľa automatickly rediretlo na stránku sign/in ak
nieje prihlásený no akosi sa mi nedarí nájsť v dokumentácii ako to
spraviť.
Jedine čo som našiel je jednoducha podmienka do latte ako nezobraziť časť prípadne celú stránku užívateľovi ktorý nieje prihlásený:
{if $user->loggedIn}
{else}
{/if}
čo mi veľmi nepomôže. Nakoľko je HTML separátne myslím, že by som to mal riešit v latte no možno sa mýlim Vedel by mi niekto poradiť?
Editoval Andurit (10. 11. 2014 23:04)
- Andurit
- Člen | 131
Vďaka za odpoveď, mna napadlo použiť len metódu ako:
public function redirectToLogin()
{
$this->redirect('Sign:in');
}
A myslím, že v zásdae tento príklad je o tom istom, nie som si ale celkom istý ako to uplatniť následne v latte.
Skúsil som niečo ako:
{? $presenter->redirectToLogin(); }
Čo bohužil skončilo s Nette\Application\AbortException
Bolo by možné dať jednoduchý príklad s example code?
Thanks
Editoval Andurit (10. 11. 2014 23:28)
- Šaman
- Člen | 2666
Nepotřebuješ další Presenter. Dokonce to ani nemusíš dělat v metodě
startup(). Stačí redirectovat v action metodě toho pohledu, který má být
bez přihlášení nedostupný.
Pokud jsou to všechny pohledy nějakého presenteru, dá se to do startup (ta
proběhne před každou akcí daného presenteru). A pokud by to byla celá
zabezpečená sekce, řekněmež třeba AdminModule, pak se vyplatí vytvořit
mu samostatný BasePresenter a kontrolu provádět v něm.