Autentizační formulář na každé stránce webu,
- miira
- Člen | 13
Zdravím,
používám na webu přihlašovací formulář prakticky identickým způsobem,
jak je uvedeno v příkladu Akrabat.Forms tj. form má vlastní presenter,
nachází se na samostatné adrese a po úspěšném ověření údajů je
uživatel přesměrován na hlavní stránku s patřičnou hláškou.
Chtěl bych ale formulář mít na každé stránce webu např. v pravém
sloupci (patrně by se tedy o jeho vykreslování a správu měl starat
BasePresenter).
Poradí někdo jak to zařídit? Všechny mé stávající pokusy skončily
fiaskem :)
Díky
Editoval miira (15. 3. 2009 2:57)
- Patrik Votoček
- Člen | 2221
Komponenta ktrá by byla v podmínce jesly je uživatel přihlášen. Tj. pokud není komponenta se zobrazí a pokud je přihlášen tak se nezobrazí. Doufám že jsem odpověděl na to na co ses ptal. Pokud né tak to zkus více rozvést. Btw jaké dosavadní pokusy? Na čem jsi zkrachoval?
Editoval vrtak-cz (15. 3. 2009 4:41)
- DocX
- Člen | 154
Řeším stejný problém. Vlastně jsem ho i vyřešil tak, že mám továrničku na loginform spolu s obsluhou kliknutí v BasePresenteru. Výhodou je, že se po přihlášení ocitnu na stejné stránce, kde jsem byl. Vypadá to nějak takto:
<?php
protected function createComponentLoginform()
{
$form = new Nette\Application\AppForm($this, 'loginform');
$form->add...
$form->addSubmit('login', 'Login');
$form->onSubmit[] = array($this, 'loginSubmitted');
}
public function loginSubmitted(Form $form)
{
// provedeni autentizace
$this->redirect($this->backlink());
}
?>
Jenže problém je v tom, když se znějakého důvodu vykreslí ErrorPresenter. Továrnička vyrobí formulář s odkazem na současný presenter, tedy ErrorPresenter, ale k němu není povoleno přímo přistupovat (což je dobře). Nevím ale jak to řešit, protože, když mi ErrorPresenter ošetřuje např. vyjímku požadavku na autentifikaci, tak by měl přihlašovací formulář fungovat :)
Napadá Vás něco?
Díky
- Honza Kuchař
- Člen | 1662
Error presenter by nemel ošetrovat vývjimku při přihlašování. Dej tam redirect na nějaký normální presenter.
- DocX
- Člen | 154
honzakuchar napsal(a):
Error presenter by nemel ošetrovat vývjimku při přihlašování. Dej tam redirect na nějaký normální presenter.
To bude asi lepší. Už jsem to tak udělal. Ale i tak, kdyby se objevila 404ka, tak by formulář (a jiné odkazy bez zadaného konkretniho presenteru) odkazoval na ErrorPresenter. Vyřešil jsem to viz https://forum.nette.org/…iewtopic.php?…