Geek tričko zdarma Geek tričko zdarma
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde

Diskuze: Ako na práva užívateľov?

Aktivity (2)
Avatar
Mego
Člen
Avatar
Mego:9. září 11:16

Potrebujem urobiť niečo také, aby užívatelia mali pridelené rozličné role a mali práva v aplikácií. Roli je 8 a budú mať nastavené default práva. Musí však byť možnosť administrátora nastaviť svoje práva aj vybranému užívateľovi. Tzn. mám užívateľa, ktorý môže robiť updaty na vybranú tabuľku v databáze a na inú nemôže. Ja ako admin mu musím vedieť zaškrtnúť checkbox, že áno, tento užívateľ môže robiť aj updaty na inú tabuľku. Ako by ste to riešili?

Zkusil jsem: Napadá ma jedine špeciálna tabuľka, kde cols budú jednotlivé "operácie" a rows budú užívatelia (druhý row teda bude user_id, aby bola spojitosť s tabuľkou užívateľov). Každý user bude mať svoj riadok v tej tabuľke. Pri registrácií (appka je špecifická tým, že užívateľ si vyberá svoju rolu, to je na dlhé vysvetľovanie) sa teda založí nový row v tej špeciálnej tabuľke a dotiahnú sa do neho defaultné nastavenia práv. Tie defaulty ako je lepšie robiť? Ako nejaké array hodnôt, alebo lepšie urobiť ako číselník tabuľku do DB?

Ak potom admin bude chcieť upravovať práva vybranému userovi, tak proste sa updatuje len ten jeden jeho row

Chci docílit: Je to takto múdry spôsob, či je lepšia cesta?

Odpovědět 9. září 11:16
Radšej 15 minút skôr, ako 15 sekúnd neskoro...
Avatar
Odpovídá na Mego
Michal Štěpánek:9. září 11:41

Ideální je mít tabulky:
Users, Roles,
a pak UserInRoles, kde bude FK(UserId, RoleId)
a role přidělovat do té poslední tabulky

Nahoru Odpovědět 9. září 11:41
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Mego
Člen
Avatar
Odpovídá na Michal Štěpánek
Mego:9. září 12:05

No ved tak som to zhruba napusal aj ja. Akurat ze musim mat v cols vsetky operacie ako boolean a nastaveny true/false ne?

Nahoru Odpovědět 9. září 12:05
Radšej 15 minút skôr, ako 15 sekúnd neskoro...
Avatar
Odpovídá na Mego
Tomáš Novotný:9. září 12:06

Ahoj, určitě bych se zamyslel nad tím, zda nemít i skupiny uživatelů/práv a opravdu vyjímečné odlišnosti poté řešit až na úrovni uživatele. Mám zkušenosti s právy na úrovni uživatele bez skupin. Mnohdy skupiny nepříjemně chybí. Navíc by to mohla být v podstatě odpověď i na tvá default práva.

Nahoru Odpovědět 9. září 12:06
∞ ... the exact amount of possibilities how to deal with the situation ... so by calm, your solution is one of many
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:9. září 13:34

uzivatele
prava
skupina
skupina_uziva­tel_prava - aby slo nastavit uzivateli konkretni pravo nebo skupine konkretni pravo
uzivatel_skupina

Cili, 5 tabulek, uplne nednoduchy system prav. A ty jsi to chtel pro 1 tabulku clanky, ze? :) Blbe, co? :)
A pak treba budes potrebovat resit tabulky uzivatek_skupi­na_kategorie_cla­nek a pod :)
A to jsi zatim jeste neresil bezpecne prihlasovani, session a takove veci kolem uzivatelu.

Editováno 9. září 13:36
 
Nahoru Odpovědět 9. září 13:34
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Mego
Člen
Avatar
Odpovídá na Tomáš Novotný
Mego:9. září 14:38

No len klidek, mám to na laraveli, nejake session a bezpečne prihlasovanie už je dávno vyriešene aj s trottlingom.
Toto som rozmýšľal s tými skupinami práve. Ja keď budem mať predvyrobené pole s default hodnotami, tak ho proste pri registrácií užívateľa pustím na tabuľku a nastaví sa to. Ono v podstate každý užívateľ bude mať svoje role_id takže to by som považoval za "skupinu" užívateľov, akurát, že práva sa nebudú nastavovať priamo na základe skupiny, ale na základe užívateľa. No uznávam, že nie je zlý nápad nastaviť práva skupine a až jednotlivé rozdiely na úrovni užívateľa... asi by to bolo lepšie aj pre databázu. Pri plnej prevádzke očakávam tak do 80 000 užívateľov (dokopy)

Nahoru Odpovědět 9. září 14:38
Radšej 15 minút skôr, ako 15 sekúnd neskoro...
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:9. září 15:43

role = firma + manager
role = firma + sekterarka
role = firma + pokladni
Takhle budes mit sdruzene uzivatele podle firmy, co smi celkove neco delat. A specialni role pro ruzne druhy zamestnancu. Kde skupina firma bude proste obezna skupina, treba s name=itnetwork. Jakoze firma si bude moci pracovat se vsim v kategorii itnetwork/ ale uz ve slozce seznam/.
Nevim, mozna bych to resil spis jinak. Pro zacatek takto a pak vymeslet nekdy neco lepcejsiho :)

Jakoze treba u nas jedeme uzivatele pres openldap. Mame tam kategorie pro jednotlive systemy.
role = firma, existuje ve firme (user exist dotazy)
role = zam / student, to je trochu navic (mi prijde, ze jsme to zacali resit jinak)
role = web_admin, web_editor, web_quest
role = mail_user, mail_admin
System ziska nejdriv z ldap, ze ten clovek existuje v nasem strome, ma role=firma. Pak ziska, jakou ma roli, treba web_editor. A potom system webu ma v sobe skupinu, prirazeni, co v tom webu editor muze, jaky obsah muze menit, u nas slozka oddeleni.
Resp, mozna pro urychleni tam mame role = web a az pak dalsi role web_admin.
role = firma zam web web_admin mail mail_user // jako ldap tree, cn parametr, tusim

 
Nahoru Odpovědět 9. září 15:43
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:9. září 15:46

A potom byla myslenka takova, ze nad tim bude system jednotneho prihlaseni, ktery ti vyrobi session a prihlasi te do vsech systemu, web, mail... Pri kliknuti z webu na mail bys zustal prihlaseny. A soucasne by ten system dalsim systemum predal, jaka tam mas prava a pridelil ti nejake heslo. Neco, jak se tu resi prihlaseni pres fb.

Editováno 9. září 15:47
 
Nahoru Odpovědět 9. září 15:46
Avatar
Odpovídá na Mego
Tomáš Novotný:9. září 15:53

Jasné, no uvidíš. Nevím co tvůj projekt obnáší, třeba se jednou navrhne odladí a nebude se dále měnit. Nebo to vymyslíš perfektně hned na začátku.
Moje zkušenost je spíše taková, že do toho přijdou úpravy, rozšíření, která nebyla v počátku ani myslitelná a můžeš se dostat do bodu, kde může být obtížnější upravovat globální defaultní práva, pokud jsou v nich zahrnuty výjimky již existujícího uživatele...
Dle mne oddělená práva skupiny a jednotlivce jsou lépe spravovatelná.

Nahoru Odpovědět  +1 9. září 15:53
∞ ... the exact amount of possibilities how to deal with the situation ... so by calm, your solution is one of many
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.