Autentizace a oprávnění úživatelů

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

Ahoj,
nemáte prosím někdo někde hotovou ukázku se zprovozněným přihlašování a různými rolemi uživatelů (admin, uživatel, guest s přístupem pouze na přihlášení).

Hledal jsem různě po fóru, ale v posledním cca roce se nic takového neřešilo a myslím, že starší návody nebudou kompatibilní nebo správné k aktuání verzi Nette.

Díky!

wallkysek
Člen | 52
+
0
-

Zdravím,
https://doc.nette.org/…thentication

Toto by nestačilo?

abc
Člen | 92
+
0
-

To jsem četl 2× a vůbec nevím, co kam patří. Dám tomu zítra samozřejmě další pokus, ale přijde mi snazší se podívat do nečeho funkčního…

Ještě k tomu mám samozřejmě v plánu přidat toto, ale to je pro starší verzi Nette:
https://doc.nette.org/…thentication

Výborná jsou videa z posledních sobot

Editoval abc (20. 8. 2014 0:38)

enumag
Člen | 2118
+
0
-

Poslední rok snad do každého tématu kde se řeší ACL spamuju tenhle odkaz. Řekl bych že ani tobě neuškodí. ;-)

https://forum.nette.org/…zace-pouziti#…

Autentizace je v dokumentaci popsaná myslím dobře takže k té nic nedodávám.

abc
Člen | 92
+
0
-

Tak jsem ještě trošku přemýšlel a vlastně mi stačí, když budu mít u každého usera pouze roli – admin, user, guest. Následně budu u akcí jako mazání rozhodovat, zda je uživatel admin/user/guest.

Moje myšlenka byla asi taková, že mám v databázi sloupec role, vyrobené uživatele s rolemi, ovšem po přihlášení si dumpnu

dump($this->getUser());

a tam zjistím:

guestRole => "guest" (5)
authenticatedRole => "authenticated" (13)

Přitom v UserManager, který je ve sandboxu se správně v řádku:

return new Nette\Security\Identity

předá jako druhý parametr role např. admin.

Jak se potom dozvím, kterou roli má ten uživatel?

abc
Člen | 92
+
0
-

Odpovím si sám, pardon za hloupý dotaz

$this->getUser()->getRoles();
David Matějka
Moderator | 6445
+
0
-
abc
Člen | 92
+
0
-

Díky, to je dokonce ještě lepší, pač to jde snadno použít v šabloně.