Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [uprawnienia] ból głowy
stach
post 4.12.2003, 01:43:04
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 15.02.2003
Skąd: Ziemia

Ostrzeżenie: (0%)
-----


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


--------------------
Warsztat: IIS 6.0 | PHP 4.3.10 && 5.0.3 | MySQL 4.1.9 | Smarty 2.6.7 | PEAR | EditPlus 2
Produkcja: FlipTiM
Go to the top of the page
+Quote Post
Synaps
post 4.12.2003, 10:02:15
Post #2





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 1.12.2003
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
menic
post 4.12.2003, 15:43:04
Post #3





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

Ostrzeżenie: (0%)
-----


Albo mozesz podzielic userow na grupy i przy kazdym module ustawiac jakie grupy mja do niego dostep smile.gif


--------------------
Jak masz cos zrobic dobrze...
...To musisz zrobić to sam.

Uchwycić moment...
Go to the top of the page
+Quote Post
spenalzo
post 4.12.2003, 15:47:52
Post #4





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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)


--------------------

Go to the top of the page
+Quote Post
stach
post 4.12.2003, 20:56:55
Post #5





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 15.02.2003
Skąd: Ziemia

Ostrzeżenie: (0%)
-----


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


--------------------
Warsztat: IIS 6.0 | PHP 4.3.10 && 5.0.3 | MySQL 4.1.9 | Smarty 2.6.7 | PEAR | EditPlus 2
Produkcja: FlipTiM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 11:39