Autorizace ve vztahu k navigaci a obsahu stranek
- Vladik_hk
- Člen | 50
Ahoj, jak resite aby se uzivateli nezobrazovaly odkazy na akce, ktere ma na zaklade autorizace zakazane? Autorizaci pristupu ted resim normalne pres ACL ve startup akci base presenteru.
Napadlo me zatim jen osetrit to v sablone, kdy u kazdeho odkazu nebo casti stranky ktera neni pro kazdeho by byla take podminka pro overeni autorizace na zaklade ktere by se zobrazil nebo nezobrazil odkaz/obsah. To je ale trochu slozite. Autorizace pro konkretni akci by se tak vlastne overovala dvakrat, jednou na strance s odkazem na akci a podruhe pri pristupu k akci.
Diky za podnety.
- Vyki
- Člen | 388
Ve verzi 1.0 bude v šabloně makro jěco jako if-allowed
<a n:if-allowed="delete" n:href="Front:delete">Smazat</a>
ale kdo ví kdy se na to dostane řada, respektive kdy se dostane opět na něco kromě Nette\Database.
Do té doby to budeš muset podmiňovat např. klasickým
{if $user->isAllowed('delete')}<a n:href="Front:delete">Smazat</a>{/if}
nebo
<a n:if="$user->isAllowed('delete')" n:href="Front:delete">Smazat</a>
Editoval Vyki (16. 1. 2011 13:04)
- Patrik Votoček
- Člen | 2221
Vyki napsal(a):
Ve verzi 1.0 bude v šabloně makro jěco jako
if-allowed
<a n:if-allowed="delete" n:href="Front:delete">Smazat</a>
2.0 :-) a mělo by to být:
<a n:href="Front:delete id => 1" n:if-allowed>Smazat</a>
- Aurielle
- Člen | 1281
Zkusil jsem to implementovat. Není to moc čisté (v podstatě nedefinuji nové makro if-allowed, ale jen ho převádím na if), ale funguje to :))