Jak a kde mám nadefinovat ACL s pravidly?

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

Zdravím,

myslím si, že chápu dokumentaci: https://doc.nette.org/…thentication

Co mi ale nějak nedocvaklo je, tak kde definuju ty pravidla pro ACL ? To je jako třeba v BasePresenteru mám nadefinované? Aby byly při každém načtení stránky nahrané?

Editoval kedro (10. 8. 2014 9:57)

Hurass
Člen | 114
+
+1
-

Já mám na to napsanou vlastní třídu Authorizator, kde si v construktoru zavolám metody pro nadefinování rolí a oprávnění pro každou roli. Tu pak jen zaregistruješ v config.neon.

services:
	- App\Authorizator

Editoval Hurass (10. 8. 2014 10:24)

dex11
Člen | 11
+
+2
-

ja to mám definované v config.neon

services
App\Model\Authenticator

authorizator:
class: Nette\Security\Permission
setup:
- addRole(‚guest‘)
- addRole(‚user‘)
- addRole(‚manager‘)
- addRole(‚administrator‘)
- addResource(‚Sign‘)
- addResource(‚Dashboard‘)
- addResource(‚Admin‘)
- allow(‚manager‘)
- allow(‚administrator‘)
- allow(‚user‘)
- deny(‚manager‘,‚Admin‘)
- deny(‚user‘,‚Admin‘)

enumag
Člen | 2118
+
0
-

V zásadě nic proti, akorát ti to neumožňuje tahat oprávnění z db a přidávat assertační callbacky což jsem obojí potřeboval.