Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [uprawnienia] ból głowy
Forum PHP.pl > Forum > PHP
stach
Mam takowy maly problemik i zaczyna mnie glowa bolec juz smile.gif

problem polega nie tyle co na uprawnieniach a na wyswietleniu menu zaleznie od uprawnien. Wszystko by bylo ok gdyby nie to ze uklad menu ma byc dynamiczny i ustawiany w administracji (user friendly ustawianie : [-o< ). Problem niby nie tak wielki ale chcialem to przemyslec zanim zaczne kodowanie i pytanie o rade ... hmm jak ? smile.gif Myslalem nad odzielna tabelka w bazie dla samych ustawien menu ale z drugiej strony to takie zasmiecanie i tak juz sporej ilosci tabelek jaki zjadac bedzie ten projekt, no ale raczej na 99% musi byc tabelka bo trzymanie tego w jaki kolwiek inny sposob jest bezsensu, no ok skoro tabelka to teraz jak byscie zbodowali jej pola ?

Co do dzialow myslalem nad zbudowaniem czegos na zasadzie pluginu, gdzie dany dzial jest pluginem, a funkcjie w nim beda wlaczane badz wylaczane zaleznie od uprawnienia, a pod koniec wszystkie zezwolone urachamiane.

No nie wiem czekam na jekies podpowiedzi sugestie, bo w tym momencie moje brainCPU chyba jest w stanie hibernacji smile.gif
Synaps
Hey,
rozwiązać ten problemik możesz jedną kolumna w tablicy z userami smile.gif
Brzmi banalnie , co ?
Ustawienia menu , możesz trzymać w stringu o odp. strukturze np :
kategoria::tablica[poddzialy]="on/off" lub "1/0" | kategoria2::tablica[poddzialy]="on/off" lub "1/0" itd. Dzięki temu nie będziesz musiał dodawać nowej tabeli do bazy dodajesz tylko jedną kolumne w tab. z userami/ustawieniami userów , a generowanie menu z takiego ciągu jest bardzo proste. Dodam że do zmiany tabela->string można użyć fun. serialize odwrotność to unserialize. Administracja/ustawienia tego typu menu to juz część html/js po stronie usera dlatego nie będe nic o tym pisał.

Z tego typu rozwiązania korzystałem już kilka razy i sprawdz się znakomicie. Rozwiązanie jest o tyle dobre iż nie zaśmiecasz bazy niepotrzebną tabelą winksmiley.jpg ( no chyba że będziesz chciał wyszukiwać/sortować po ustawieniach menu dla userow , ale to raczej nie mam sensu) , jednym zapytaniem wyciągasz ustawienia dla całego menu i odp. explodem/foreachem generujesz menu.

Pozdrawiam
menic
Albo mozesz podzielic userow na grupy i przy kazdym module ustawiac jakie grupy mja do niego dostep smile.gif
spenalzo
Jakby na to nie patrzeć, to wcale nie trzeba tworzyć nowej tabeli - wystarczy, że do istniejącej dodasz sobie pole np. "perm" i system uprawnień oprzesz na operatorach bitowych.
Czyli np:
1 - dostep podstawowy
2 - dostęp do artykułów
4 - dostęp do downloadu
8 - dostęp do panelu admina

I teraz poziom dostępu robisz np. tak:
[php:1:9b3fc36de2]<?php
define("PODSTAWOWY",1 << 0);
define("ART",1 << 1);
define("DOWNLOAD",1 << 2);
define("ADMIN",1 << 3);
?>[/php:1:9b3fc36de2]
ustawianie dostępu na Artykuły i download wyglada np. tak:
[php:1:9b3fc36de2]<?php
$perm=ART | DOWNLOAD;
?>[/php:1:9b3fc36de2]
Sprawdzanie czy mamy dostep do Artykułów:
[php:1:9b3fc36de2]<?php
printf("Artykuly są %s .", (ART & $perm) ? "dostepne" : "niedostępne");
?>[/php:1:9b3fc36de2]

(Przykład zaczerpniety z ksiażki "PHP4. Aplikacje" i zmodyfikowany lekko)
stach
Wszystko cacy, tylko mnie bardziej chodzi o problem dynamicznego wyswietlania menu jednoczesnie uzaleznionego od zezwolen ale tez i od kolejnosci jaka ustala administrator(Kolejnosc jak i dzialow tak i samych jego funkcji) . I moim no moze nie tyle problemem co pytaniem o rade bylo wlasnie jak byscie wy do tego podeszli. Chodzi chyba o to iz co 3000 glow to nie jedna, i czasem jedno zdanie moze zmienic caly tok rozumowanie (i to na lepszy smile.gif ). Moj systemik bedzie mial grupy ale grupy beda bardziej jako szablon uprawnien kopiowany do usera przydzielonego do danej grupy. Co do uprawnien to mam dwa systemiki jeden stringowy drugi cos podobnego co zaproponowal spenalzo ktory podawal ta propozycje juz kiedys w innym topicu, i wtedy mi sie ona spodobala na tyle ze zaczolem jej uzywac (spenalzo, mam nadzieje ze nie jest opatentowana bo bym goly zostal biggrin.gif ). Ale nadal mysle nad tym menu, i mam kilka pomyslow, i poprostu nie moge wybrac zadnego z nich smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.