Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawa uprawnien, i jej rozwiazania
Vomit
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 23.01.2006

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


Uprawnienia, to co neka mnie juz od dłuzszego czasu, nigdy jednak nie chciało mi sie przysiasc i co sklecic. Obecnie, gdy jednak stoje twarza w twarz z problemem, postanowiłem sie poradzic, a raczej spytac jak wy to rozwiazaliscie.

Zastanawiałem sie jak zaznaczyc usera, ktory ma miec przykladowo dostep do jednej podstrony danego serwisu. Strony takie bedzie mozna dodawac i usuwac bez ograniczen, wiec nie mozna tego nadawac uprawnien "na sztywno".

Gdybym mial z gory ustalone 5 podstron, bez podstron "ruchomych" byloby latwiej. Moglbym stworzyc sobie tablice dla kazdego usera, zapisana w bazie np.
  1. <?php
  2. array( 1, 0, 0, 0, 0 );
  3. ?>

Oznaczałoby to, ze user ma dostep tylko do pierwszej podstrony.

Niestety nie mam pomysłu rozwiazac tego dla nielimitowanej ilosci podstron.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


hmmm, pomysl za bardzo "jednowymiarowy" przydatne w wypadku gdy strona to pojedyncze forum, jednak gdy mamy do czynienia z serwisem gdzie zintegrowanych jest kilka mechanizmow (forum, system newsow, artykuly) lepiej jest nadawac dla kazdej akcji (jawnej akcji: dodanie newsa, kasowanie artykulu itp) unikalny identyfikator, a w bazie danych o userze umiescic kolejne identyfikatory jego uprawnien np. dla komorki (DB) uprawnienia
Kod
da ua dn un
gdzie da - dodaj artykul, usun artykul, dodaj news, usun news... uprawnienia takie (tak przechowywane) w latwy sposob mozna wrzucic do tablicy za pomoca
  1. <?php
  2. $uprawnienia = explode(' ', $row['uprawnienia'])
  3. ?>
...

sposob taki w idealnie nadaje sie do obiektowego programowania np.
  1. <?php
  2.  
  3. $User->sprawdzUprawnienia($KasujArtykul->potrzebneUprawnienia($idArtykulu));
  4.  
  5. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 16:14