addProtection ve formuláři způsobí pozdní inicializaci session

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

Ahoj,

mám problém přesně jako zde https://forum.nette.org/…ddprotection

tedy addProtection ve formuláři způsobí chybu, že session se startuje až po nějakém výstupu. Řešit se to dá pomocí autoStart: true ale podle https://forum.nette.org/…ostart-smart je true špatně, neb startuje sesiony i pro roboty. Jak tedy nejlépe na to?

Díky za rady

Majkl578
Moderator | 1364
+
0
-

Jak tedy nejlépe na to?

  1. Používat addProtection jen tam, kde je to opodstatněné (přihlašnování).
  2. Nechat session lazy a startovat je včasexplicitně v místě, kde se používá formulář, který obsahuje addProtection. Např. v action presenteru.
SvvimX
Člen | 65
+
0
-

Díky za info, mám addProtection v BaseFormu v rámci AdminModulu a tak nějak jsem si říkal, že všechny formuláře v administraci (CRUD formuláře) jsou odpodstatněné, nebo ne?
A ten problém s boty – že autoStart true zakládá session i pro boty, to mi stejně toto nevyřeší ne? I když vzhledem k tomu, že je celá administrace za loginem, tak se tam nikdy nedostane..

Jiří Nápravník
Člen | 710
+
0
-

Myslím, že addProtection by měl být v adminu snad u všech komenářů, když manipuluješ s daty.

Problém s boty, pokud to bude u přihlašovacího formulaře, tak to dle mě nevyřeší. Ale myslím, že Majkl měl na mysli spíše to, abychom se vyhli autoStart: true, protože máš třebai forntend a tam na většině stránek session není vůbec potřeba.

Či-li můj tip by byl, v nějakém AdminBasePresenteru udělat ve startupu automatické zapnutí session a na frontu to zapínat jen v těch presenterech, kde je to třeba.