Získání všech oprávnění přihlášeného uživatele

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

Ahoj,
potřeboval bych vytáhnout kompletní seznam všech oprávnění pro aktuálně přihlášeného uživatele třeba jako resource => privilege.

Je možné je vytáhnout z autorizátoru nebo si je musím vygenerovat sám?

Díky

David Matějka
Moderator | 6445
+
0
-

neni to tam a ani byt nemuze – nette permission nevi, ktere privileges pouzivas

CZechBoY
Člen | 3608
+
0
-

No teoreticky by mělo jít nějak zjistit co všechno komu povoluješ nebo zakazuješ a z toho udělat nějakej seznam. Ovšem v případě povolení/zakázání všeho ti to nepude :D

iwory
Člen | 147
+
0
-

David Matějka napsal(a):

neni to tam a ani byt nemuze – nette permission nevi, ktere privileges pouzivas

Nette permission ví to, co já mu dám. Takže jestli mu setnu jednotlivá rules, tak bych z něho teoreticky mohl vysosat oprávnění na základě rolí, ne?
Něco na způsob $acl->getPermissionsForRole(array $roles), nebo jsem úplně vedle?

iwory
Člen | 147
+
0
-

CZechBoY napsal(a):

No teoreticky by mělo jít nějak zjistit co všechno komu povoluješ nebo zakazuješ a z toho udělat nějakej seznam. Ovšem v případě povolení/zakázání všeho ti to nepude :D

tak to už by bylo to nejmenší zrovna :-D

CZechBoY
Člen | 3608
+
+1
-

Tak můžeš to udělat úplně jednoduše. Ve svojí PermissionFactory (nebo jak tomu Permission zadáváš ty role+oprávnění+resourcy) si ulož co nastavuješ.

Teda tohle funguje za předpokladu, že už ten seznam resourců máš.

Pokud potřebuješ vygenerovat seznam akcí a presenterů (a nemáš žádný custom oprávnění) tak by to mělo být jednoduchý – já jsem šel cestou reflexe + souborů šablon.