Nastavení rolí v configu a navratova hodnota getRoles()

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

Zdravim,

mam nastavene v configu takto role:

security:
	roles:
		guest:
		member:
		moderator: [member]
		admin: [moderator]

Dle dokumentace by admin mel dedit od moderatora a moderator od membera pri takovem nastaveni. Proc mi pak funkce isInRole(moderator) na uzivateli s opravnenim admin vraci FALSE? Resp. navic kdyz zavolam na nem getRoles(), vraci mi v poli pouze jeho roli admin.

Ocividne mi asi neco nekde unika, protoze bych predpokladal, ze bude vracet v poli role admin, moderator a member. A pak by isInRole vracelo TRUE.

Predem dekuji za posoupnuti.

(Nette Framework 2.1-dev)

jiri.pudil
Nette Blogger | 1029
+
0
-

Dědí se oprávnění přidělená rolím, ne role samotné. Takže admin bude mít defaultně všechna oprávnění, která má moderátor, ale bude to pořád „jen“ admin.

Jirda
Člen | 103
+
0
-

jiri.pudil napsal(a):

Dědí se oprávnění přidělená rolím, ne role samotné. Takže admin bude mít defaultně všechna oprávnění, která má moderátor, ale bude to pořád „jen“ admin.

Aha. Diky.

I tak se zeptam, je nejak jednoduse mozne zjistit, od koho uzivatel ty opravneni dedi? Jde mi o to, ze bych rad volal neco jako isInRole(„moderator“) a pritom ziskal TRUE i tehdy, pokud je admin.

Diky.

Tomáš Votruba
Moderator | 1114
+
0
-

@Jirda: Zřejmě hledáš roleInheritsFrom

Jirda
Člen | 103
+
0
-

Schmutzka napsal(a):

@Jirda: Zřejmě hledáš roleInheritsFrom

To je ono. Diky moc.