| | |
| Stránka: 1 z 1
| [ Príspevkov: 14 ] | |
Autor | Správa |
---|
Registrovaný: 02.09.08 Prihlásený: 11.01.14 Príspevky: 53 Témy: 24 |
Ahojte,
potreboval by som poradiť, ako v PHP spraviť aplikáciu na správu používateľov, kde by som mohol editovať ich CRUD (create, read, update, delete) funkcie po celej stránke.
Aplikácia obsahuje 3 typy článkov:
Novinka, Odborný článok, Komentár na odborný článok
Aplikácia by mala mať zatiaľ 4 role (všetky role môžu plnohodnotne využívať hľadanie):
Admin
- CRUD všetky typy článkov(Novinky, odborné články, komentáre)
- Správa uživateľov (zmazanie, editácia, nastavovanie levelov prístupu)
Moderátor
- Create/Update/Delete iba SVOJE odborné články, Read všetky odborné články
- Môže Update/Delete iba komentáre na svoje články, nie iného moderátora, ale môže Create komentár všade
- Read novinky, ostatné komentáre
User (Registrovaný používateľ)
- Read novinky, odborné články
- Create/Update/Delete iba svoje komentáre, Read všetky komentáre
Guest (Neregistrovaný používateľ)
- Read všedtky typy článkov
Toto je základné nastavenie používateľských účtov, no rád by bol, keby sa to dalo jednoducho rozširovať a meniť oprávnenia CRUD pre všetkých používateľov, ale iba adminom.
Dúfam, že som to napísal zrozumiteľne
Vopred za odpovede veľmi pekne ďakujem.
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 |
záleží od vedomostí a schopností programátora, od toho sa môžme odvíjať
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 02.09.08 Prihlásený: 11.01.14 Príspevky: 53 Témy: 24 |
v PHP nie som žiaden preborník, riešil som iba veci, kde boli iba 2 typy účtov (registrovaní a neregistrovaní používatelia) a riešilo sa tam iba či je, alebo nie je prihlásený a nie, že kontrola levelu prístupu ...našiel som niečo také to na nete http://www.evolt.org/PHP-Login-System-with-Admin-Features, no je to celkom dosť a po anglicky
//predchadzajuci prispevok sa necituje! (stenley)
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
myslim, ze ti budu stacit 2 tabulky: jedna pre skupiny s nastavenim prav, druha pre pouzivatelov zaradenych do jednotlivych skupin... tot vsio
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 02.09.08 Prihlásený: 11.01.14 Príspevky: 53 Témy: 24 |
hm, neviem si to nejako dobre predstaviť...keď by napr. v tabuľke kde by boli skupiny bolo, že moderator môže upravovať a mazať len svoje články a príspevky na ne.
čiže
skupina | clanok | clanok_svoj | komentar | komentar_na_svoj | komentar_svoj
mod | R | CUD | R | UD | CUD
|
|
Registrovaný: 05.12.08 Prihlásený: 24.06.14 Príspevky: 59 Témy: 17 |
V jednej tabulke budes definovat jednotlive levely teda tam budes mat len styri riadky: admin, moderator user guest. Stlpce budu tvorit fukcie ktore s k dispozicii napr. update delete, create atd...
napr.
level update create
admin ano ano
moderator ano nie
V druhej tabulke uz budes mat konkretnych ludi a ich profily. To znamena ze vsetci ludia vsetkych levelov v jednej tabulke. S tym ze v jednom stlpci by sa definovalo aky level ma ten ktory uzivatel Napr.
Meno Bydlisko Level
Jozo Kosice Moderator
Duro Bystrica Admin
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
petanorech píše: hm, neviem si to nejako dobre predstaviť...keď by napr. v tabuľke kde by boli skupiny bolo, že moderator môže upravovať a mazať len svoje články a príspevky na ne.
čiže
skupina | clanok | clanok_svoj | komentar | komentar_na_svoj | komentar_svoj mod | R | CUD | R | UD | CUD
Urcite nezgrupuj jednotlive prava do jedneho stlpca (ziadne CRU, CRUD a pod) - moze ti to neskor skomplikovat zivot...
Ak chces, aby bolo mozne jednotlivym uzivatelskym skupinam priradit aj skupiny clankov, ku ktorym maju mat prava, tak by si mohol vytvorit taketo 3 zakladne tabulky:
Tabulka so skupinami uzivatelov a pravami:
id skupiny uzivatelov, nazov, ..., prava na vytvaranie clankov, editovanie vlastnych/cudzich clankov, mazanie vlastnych/cudzich clankov, ...
Tabulka s pristupom uzivatelskych skupin k jednotlivym skupinam clankov:
id skupiny uzivatelov, id skupiny clankov
Tabulka s uzivatelmi:
id uzivatela, id skupiny uzivatelov, pristupove udaje, ...
+ samozrejme tabulka s clankami... da sa to vselijako popreplietat, zalezi od toho, co konkretne potrebujes a ake mas predstavy do buducnosti...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 09.10.2009 16:34 | |
|
tamast7, načo?
petanorech, budeš mať tabuľku s informáciami o užívateľoch a jeden stĺpec bude level kde budeš ukladáť, či je to admin, moderátor alebo obyčajný používateľ. Potom v systéme budeš overovať aký má level a či je prihlásený a podľa toho zobrazíš odkazy, formuláre, budeš overovať $_POST-y atp.
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
z tvojho navrhu citim isty problem a to ten, ako bude moct menit opravnenia jednotlivym skupinam? editovat kvoli tomu skripty sa mi nezda ako vhodne riesenie
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 05.12.08 Prihlásený: 24.06.14 Príspevky: 59 Témy: 17 |
takto sa to bude dat lahsie menit a bude to prehladnejsie ako napr.
bez tabulky
if(this_person == 'admin' or this_person == 'moderator' or this_person == 'user' ) do this...
ale s tabulkou navyse prehladnejsie:
if (this_person['update'] == 'allowed') do this...
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | |
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
zbezne som prebehol tie kody, ale nezda sa mi to velmi univerzalne...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 |
kódy určite univerzálne nie sú, ale celkovo prístup k problému sa mi pozdáva
//ano, s tym suhlasim (stenley)
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
Aj ja som si pozrel kódy, a tiež som si zobral trošku inšpirácie.
V súčastnosti to riešim tak, že stanovím napríklad ADMIN je 10, MOD je 7, LOGGED 1, USER (neprihlaseny) je 0 všetko v DB atď.
A potom už štýlom:
Kód: if($rank < 6) echo "Modi admini"; if($rank == 10) echo "admini";
atď.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 14 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|