ACL v configu, nebo třídě

Polki
Člen | 553
+
0
-

Ahoj, rád bych se zeptal, jestli preferujete ACL zápis do konfiguračního souboru, nebo jestli radši používáte formu továrny?

Popřípadě popis proč používáte zrovna tuto metodu a jaké z ní plynou výhody?

Díky

Pavel Kravčík
Člen | 1180
+
+2
-

My naskenujeme celý projekt a uděláme ACL dynamicky (Module:Presenter – action|customName) a pak to uložíme do cache při vytvoření DI. Nad tím máme automatický formulář, který z toho udělá checkboxy. Přidání role či úprava je pak záležitost pár minut. Ale děláme převážně intranety a backend.

Polki
Člen | 553
+
0
-

@PavelKravčík
Jakože podle ifů v action metodách vytvoříš třídu s ACL pravidly? To se mi líbí.

Jak řešíte třeba přístup uživatele k editaci pouze vlastních položek?

CZechBoY
Člen | 3608
+
0
-

Mam stejny pristup jako Pavel. Takto custom autorizaci resim proste custom, bez Nette autorizator, jen klasicka podminka, ze autor polozky je aktualne prihlaseny uzivatel.

Pavel Kravčík
Člen | 1180
+
0
-

@Polki: Ne všechy action tam dáváme – většinou používáme přístup dle Presenteru (klíčové slovo „full“ – přístup na všechny action/handle daného presenteru). Pokud chceme omezit tlačítko, tak vypíšeme akce, které se dají „zaklikávat“ separátně.

Vlastní položky většinou podobně (hodně to zjednoduším):

$grid->setData($rep->getTable()->where($this->User->isInRole('junior') ? ['user_id' => $this->User->getId()]) : []);

Polki
Člen | 553
+
0
-

@PavelKravčík Díky