Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Daniel Vítek:

Ahoj,
po delší době jsem se zase vrhnul na budování svého CMS. Mám 2 otázky na 2 skupiny lidí.

  1. Programátoři - jak řešíte uživatelské oprávnění vy? Máte tam pevné role do kterých může uživatel jen dosazovat nebo je zde nějaká možnost si to přizpůsobit?
  2. Uživatelé - jak to vnímáte vy? Kolik rolí pro svůj web potřebujete a je pro vás přizpůsobení oprávnění užitečné nebo si vystačíte s nachystanými rolemi?

Díky za všechny odpovědi :-)

 
Odpovědět 26.5.2015 16:09
Avatar
Odpovídá na Daniel Vítek
Michal Šmahel (ceskyDJ):

Nejlepší je obojí. Teď jsem použil pevné role a lehce toho lituji, asi to stejně předělám na určitá oprávnění.
Pro uživatele jsou přednastavené lehčí na obsluhu, ale hodí se i možnost poupravit si je.

Nahoru Odpovědět  +1 26.5.2015 16:15
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Daniel Vítek
Inoue Yūki:

Je tu spousta faktorů. Pokud je aplikace určena pro administrátora, očekávající plnohodnotnou aplikaci, musíš naprogramovat role i s přispůsobením. Nejlépe v administraci úpravu rolí spolu s přispůsobením práv.
Pokud je redakční systém pro tebe, bude lepší nechat přizpůsobení práv na samotné logice aplikace. Při úpravě webu si můžeš pohodlně vyhrát se složitostí práv, což by v administraci bylo poněkud obtížnější.

Pokud jde o počet rolí, zase závisí na několika faktorech. Nicméně pro redakční systém je osvědčená hierarchie: administrátor, editor, redaktor, člen. Kdy editor články schvaluje, redaktor publikuje. Počet rolí pak závisí na složitosti aplikace, nicméně na jednoduchý redakční systém by to mělo stačit.

Nahoru Odpovědět  +1 26.5.2015 16:18
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Daniel Vítek
Daniel Vítek:

Ještě bych trochu doplnil - otázka pro obě skupiny:

Jaký způsob řízení oprávnění je podle vás nejlepší?

  1. Naklikat několik rolí, kde každá má nějakéé oprávnění. Tyto role pak přiřazovat uživatelům.
  2. Udělat skupiny uživatelů s nějakým oprávněním. Do těchto skupin pak přiřazovat uživatele.
  3. Nastavovat oprávnění každému uživateli ručně.
  4. Udělat úrovně pro skupiny/uživatele (a pak se ptát zda je úroveň vyšší než x).

Případně něco dalšího?

Editováno 26.5.2015 16:24
 
Nahoru Odpovědět 26.5.2015 16:23
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Daniel Vítek
David Čápka:

1 a 2 je přece to samé, role je skupina uživatelů. Tady není nad čím přemýšlet, každý dobře navržený informační systém to má takhle udělané. Úrovně oprávnění nebudou fungovat, v žádné reálné aplikaci nemáš role takhle lineárně za sebou, co tu padlo jsou jen učebnicové příklady.

Nahoru Odpovědět 26.5.2015 16:32
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:

1 a 2 není to samé.
U 1 znamená každá role nějaké oprávnění a uživatel jich může mít kolik chce.
Ve 2. má skupina několik oprávnění a uživatel může být v jedné skupině.

 
Nahoru Odpovědět 26.5.2015 16:36
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Daniel Vítek
Inoue Yūki:

Číslo jedna a dvě se mi zdají stejné. Skupina s oprávněním = role. Je jedno jestli v databázi přiřazuješ ID role, nebo skupiny. Možná jsem ale nepochopil myšlenku. Nastavovat oprávnění ručně také není zrovna nejlepší nápad, nicméně stejně při registraci musíš uživateli nějakou hodnotu nastavit.

Osobně používám role, kterým v databázi přiřazuji oprávnění. Uživatelům pak při registraci (nebo změnách v administraci) přiřazuji roli. Pak by to mohlo vypadat takto:

Oprávnění
---------
id: 1
...

Role
----
id: 1
...

Oprávnění rolí
--------------
id_role: 1
id_opravneni: 1

Uživatelé
---------
id: 1
id_role: 1

// Edit: David byl rychlejší, takže poznámku o synonymitě jedničky a dvojky ignoruj. :)

Editováno 26.5.2015 16:38
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 26.5.2015 16:37
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Inoue Yūki
David Čápka:

Nevidím žádný smysl v entitě "oprávnění". Když má někdo roli "redaktor", tak prostě může psát články. Nic víc se v tom hledat nemusí, další informace není potřebná.

Nahoru Odpovědět 26.5.2015 16:39
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na David Čápka
Inoue Yūki:

Napsal jsem to tak právě kvůli přispůsobování v administraci. Aby neměl administrátor pouze pevné předpřipravené role. Ale samozřejmě taky možnost.

Nahoru Odpovědět  +1 26.5.2015 16:41
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:

Tam jde o to aby to bylo univerzální. Pokud to správně chápu, v kódu nastavíš že potřebuješ to a to oprávnění (např psát články a schvalovat je). Roli (skupině) pak nastavíš že má to a to oprávnění (např jenom psát články). Tu roli pak přiřadíš uživateli a podle toho jaká oprávnění má může provádět různé akce.

EDIT: Resp. do role přiřadíš uživatele
EDIT2: Píšu moc dlouho .. :D

Editováno 26.5.2015 16:44
 
Nahoru Odpovědět 26.5.2015 16:43
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Inoue Yūki
David Čápka:

Uživatel má ty role, které mu naklikáš. Já tu mám asi 20 různých rolí. Kdybys chtěl, abych tu měl jen jednu (administrátor), tak mezi nimi implementuješ dědičnost. Pojem "oprávnění" mi přijde matoucí.

Nahoru Odpovědět 26.5.2015 16:50
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na David Čápka
Inoue Yūki:

Teď jsem tě nějak nepochopil. Dokáže tvůj administrátor vytvořit novou roli podle svých představ, aniž by zasáhl do kódu? O to mi právě šlo. Možná jsem tě ale špatně pochopil. Nicméně je tisíce způsobů a každý to samozřejmě vymyslí jinak.

Nahoru Odpovědět  +1 26.5.2015 16:56
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Inoue Yūki
David Čápka:

Oba chápeme role jinak, ty to máš postavené tak, že má uživatel jednu roli, která má více oprávnění. IMHO je logičtější, aby měl uživatel více rolí. Role potom funguje jako jedno tvé oprávnění.

Nahoru Odpovědět  +1 26.5.2015 17:00
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Adam Ježek:

Já bych použil několik rolí a uživateli přiřadíš kolik potřebuješ - jako to máme tady. Aby uživatel moh mít pouze jednu roli, která by dědila ty předchozí, to se jednou můžeš dostat do bodu, kdy najednou budeš chtít, aby jeden člověk něco moh, ale jinej je. Například: Já sem Správce vtipů. To je poměrně bezvýznamná role se skoro žádnými oprávněními, takže bych s ní nic nedědil. Ale třeba Administrátor fóra, což je role významější, by zdědil všechno, co je pod ní - včetně Správce vtipů. A tady máš problém - na administraci vtipů chceš mít jednoho, dva, ale takhle by ti tam lezli všichni admini. Ale pokud budeš moct přiřadit několik rolí jen někomu bez dědění, tak se ti tohle nestane. Snad sem se vyjádřil dost jasně :D

Nahoru Odpovědět  -1 26.5.2015 17:09
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Daniel Vítek:

Jasně, chápu co oba myslíte. Díky za rady :)

Editováno 26.5.2015 17:15
 
Nahoru Odpovědět 26.5.2015 17:14
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 15 zpráv z 15.