Autentizační formulář na každé stránce webu,

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
miira
Člen | 13
+
0
-

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

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

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

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

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?…