Autorizace a role – použití

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

Čau zkouším opravnění a tak.
A chtěl bych použít Permission ACL, ale z dokumentace ani z nakych vlaken zde na forů sem nepochopil ja to zaclenit do stranky.

Ted to mám tak ze mam vsude user->isInRole(…) {delej}
A chtěl bych použít misto toho acl list
Ale nevím, když si udělám instanci $acl = new Nette\Security\Permission; a pak různě přidám role zdroje podle dokumentace.. Tak kde toto mám dělat? V tříde Authenticator? nebo kde?
A potom když chcu zjistovat zda je povoleno nekde v aplikaci tak jak se dostanu k promeny $acl?

Díky

Šaman
Člen | 2666
+
0
-

Použij $user->isAllowed() – vrátí ti TRUE, nebo FALSE podle těch nastavených pravidel a uživatelovo rolí.

Domki
Člen | 310
+
0
-

To jo
ale prvně si musím nekdě nadefinovat ten acl a to udelam kde? v tříde Authenticator?

besanek
Člen | 128
+
0
-

Nejrychlejší bude když si Permision podědíš a v konstruktoru nastavíš co potřebuješ.

Pokud máš rád všechno nacpaný v configu, tak při definici authorizatoru to můžeš nadefinovat v setup.

Domki
Člen | 310
+
0
-

Takže si mám udělat novou třídu ktera bude dedit permision
v ty tride v konstrukturu teda nastavím co potřebuju?

A jak se mi ty opravnení potom objeví v promeny $user->..
kdyz jen vytvořím třídu?

besanek
Člen | 128
+
0
-

Přesně tak.

Zaregistruj ji v configu jako službu.

services:
	authorizator: MujAuthorizator
Domki
Člen | 310
+
0
-

Aha
Tak díky za vysvětlení zítra to zkusím.