kam správně umístit autorizaci

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

ahoj, kam je podle vas spravne umistit
user->isLoggedIn()

za predpokladu ze mame presenter a latte … navic v presenteru je vice vrstev ze … kde je ta správná „brána“ kam to dát … poradne jsem jeste neproniknul do jádra pudla .. a nerad bych to predelaval az mi to dojde …

napada me nekolik moznosti .. kazdopadne ho nenechat nic vykreslit .. to znamena cele late schovat do bloku s user->isLoggedIn()

ale co v presenteru … kdyby se tam nekdo snazil bouchnout jen pomoci nejakeho signalu nebo tak neco … jestli je to vubec mozne … prece na zacatku kazde funkce nebudu vkladat tohle …

kdyby jo .. vyvedte me prosim z omylu

Šaman
Člen | 2659
+
0
-

Do šablon taková podmínka nepatří, protože to není záležitost pohledu (jedině snad když se rozhoduje, zda vykreslit přihlašovací poličko, nebo jméno aktuálního uživatele). Já kontroluji na více místech – v modelu (tam to ale dost lidí nemá rádo), v action/render/handle metodách (tam patří kontrola na konkrétní akci) a pokud ti jde jen o to nepustit do části aplikace nepřihlášeného uživatele, tak to dej do SecuredPresenteru, od kterého dědí všechny zabezpečené presentery. Stejně tak se to může řešit i s admin sekcí – v AdminBasePresenteru ověříš, že má přihlášený uživatel nějakou minimální nutnou roli a ve všech poděděných presenterech máš jistotu, že uživatel je admin (moderátor, kdokoliv podle nastavení).

Kontrolu můžeš provádět v metodě startup(), jen nezapomeň vždy volat i metodu parenta.

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

Kontrolu můžeš provádět v metodě startup(), jen nezapomeň vždy volat i metodu parenta.

spíše bych doporučil v checkRequirements(), který se provádí ještě před startup a je k tomu lepší…

Čamo
Člen | 798
+
0
-

Šaman:
Sorry za out, ale kde by som mal správne umiestniť taký adminBasePresnter.php?