Více ACL a podpora v $user->isAllowed
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- wotaen
- Člen | 82
Ahoj,
během vývoje jsem došel k nutnosti mít více ACL
. Role má
přístup k různým kategoriím, k různým jazykovým verzím a k různým
zdrojům. To jsou tři rozdílné věci. Celý systém dynamické správy práv
funguje bezvadně. Mám tři Acl
a pokaždé když potřebuju,
zavolám ten správný a ověřím roli.
Rozhodně z hlediska aplikace mi ale přijde srozumitelnější ptát se:
Environment::getUser()->isAllowed($resource,$privilege)
.
Jenomže k uživateli je svázán pouze jeden Acl…bylo by možné jich
specifikovat více, tj v config.ini
mít
service.Nette-Security-IAuthorizator = JaakResourceAcl
service.Nette-Security-IAuthorizator = JaakLanguageAcl
service.Nette-Security-IAuthorizator = JaakCategoryAcl
a třeba třetím parametrem v $user->isAllowed
rozhodnout
který ACL
vzít…
Ale taky je možné, že na to jdu úplně blbě :)
Díky za postřehy, Michal