Může router poznat, zda se odesílá formulář?
- stepos
- Člen | 36
Ahoj všem, stále začínám, tak se omlouvám, pokud je to trivialita,
ale
potřeboval bych, aby určitý podadresář adresářové struktury (starého
systému, ve kterém je php kód) byla určitým uživatelům utajena (obsluhuje
určitý modul jen pro někoho). Uživatel má identitu v nette, kde se staví
nový systém, ale občas je třeba přistoupit do starého kódu.
Mám presenter, který se spouští routerem na základě požadavku přístupu do adresářové struktury starého systému, a ten presenter includuje php kód starého systému.
Předpokládám, že bych mohl nastavit, že by presenter na základě
identity a acl poznal, koho pustí a koho nepustí do dané složky. Ale kladu
si otázku, zda by bylo možné nastavit kontrolu přístupu do složky ještě
citlivěji na práva view a add/edit/erase. Pozná router, zda se odesílá
třeba formulář (ne nette) v postovských proměnných, nebo to kontrolovat
až v tom presenteru, který pouze includuje požadovaný soubor? Pokud by měl
někdo práva jen vidět, nepustil by ho, pokud by se předávaly hodnoty POST
(případně GET)…
Díky za nasměrování
Š+
- stepos
- Člen | 36
Díky, ale jak poznám, že byl formulář odeslán, abych mohl práva
ověřit?
Tohle není nette formulář, je to klasický starý špatný php kód, kde
práva jsou špatně vymyšlená.
Přemýšlím proto o tom, že bych to řešil v nette. Router by volal
presenter, a ten rozhodl o oprávnění. Ale nevím, jestli je nějaká nette
vychytávka na to, aby presenter (router) poznal, že se odesílá formulář,
než pouhé isset($_POST).
Díky
- pata.kusik111
- Člen | 78
Rozhodně řešit až v presenteru, jak píšeš. Router autorizace vůbec nezajímá.
- stepos
- Člen | 36
Diky moc za odpovedi,
vim, ze by bylo nejlepsi to predelat, ale jedna se o mnoho desitek tisic radku
stareho kodu v systému, ktery se uz moc neda udržovat.
Proto v Nette pokracuju dal a snad postupně se to predela, ale do te doby
s tim proste musím pracovat.
Slo mi jen o to, jestli je v nette moznost poznat na základě písemné http
pozadavku, jestli se odesilaji data nebo ne.
Diky.