Nette Security – uživatel a více rolí

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

Dobrý den,
začínám s Nette a narazil sem na tento problém… v tutorialu Přihlašování & oprávnění uživatelů (https://doc.nette.org/…thentication) je zmiňována možnost přiřadit jednomu uživateli více rolí, což lze pak ověřovat pomocí isInRole().

Jak mám ale uložit více rolí k jednomu uživateli? Mělo by to být pole, ale nikde sem nenašel jakým způbobem ho vlastně uložit do databáze…

Máte někdo nějaký typ nebo praktickou ukázku jak to lze řešit?

Díky moc
Radek

jtousek
Člen | 951
+
0
-

Způsob uložení do db je klasická M:N vazba, to v dokumentaci Nette\Security ani nemá co dělat.

ViPEr*CZ*
Člen | 822
+
0
-

Tak tak… možná jednodušeji pro začínajícího řečeno, že pole se do datábaze dá uložit jako tabulka. Co řádek to jedna položka z onoho pole. Každý řádek pak má onu zmiňovanou vazbu M:N (foreign key) na daného uživatele z jiné tabulky.

Wysky
Člen | 5
+
0
-

Oběma díky za info,
já sem vycházel z informací ve výše zmiňovaném tutorialu (o tom že by to mělo být v dokumentaci nikde nic nepíšu :) ) a Authenticatoru, který je v Sandboxu. Z něj lze pochopit, že role uživatele se bere ze sloupce se stejným názvem v tabulce users (resp. z té která se předává Autenticatoru v neon configu), bohužel sem ale nikde nenašel nic víc o tom, jestli je možné použít nějaký delimiter nebo jak mám db tabulky nadefinovat pro případ, že bych chtěl aby měl jeden uživatel rolí více…

Předpokládám tedy správně že Sandboxový Autenikátor více rolí pro jednoho usera nepodporuje a kromě db tabulek budu muset upravit i model autentikátoru?

Pěkný den
Radek