Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Organizacja danych przechowujących uprawnienia użytkowników, Projekt tabeli na potrzebę przechowywania praw użytkowników CMSa
Daiquiri
post
Post #1





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Witam,

Jestem w trakcie pisania CMSa, w którym ma znajdować się szerokie zróżnicowanie praw jakie posiadać będą użytkownicy. Administrator będzie miał możliwość nadawania bardzo szczegółowych "przywilejów", dla przykładu skrócona lista:
  • możliwość dodawania treści na stronę
  • możliwość edycji istniejącej treści
  • możliwość usuwania istniejących treści
  • wgląd w logi
  • zarządzanie reklamą
  • zarządzanie użytkownikami administracyjnymi
  • zarządzanie użytkownikami serwisu
  • zarządzanie kategoriami treści

Nie ma więc możliwości stworzenia domyślnych rang typu redaktor, moderator itd. Rozwiązanie (znane np. z Drupala) polegające na tworzeniu dowolnej rangi z konkretnymi przywilejami, a później przydzielanie jej użytkownikowi nie wchodzi w rachubę (ze względu na zlecającego). Całość ma wyglądać w następujący sposób: administrator startuje z tworzeniem nowego użytkownika (bądź edytuje istniejącego), podaje jego dane (nazwę, maila i tym podobne) i w tym miejscu ma listę praw (coś na kształt tej powyżej), zaznacza część z nich (wedle uznania) i tworzy użytkownika z konkretnymi przywilejami.

Zastanawiam się jednakże jak takie informacje przechowywać w bazie... być może zmęczenie materiału nie pozwala mi już "trzeźwo" myśleć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Rozważałam stworzenie tabeli z prawami do której przypisywany będzie użytkownik. Przykładowo kolumna opisana jako dodawanie treści na stronę a w wierszach klucze identyfikujące użytkowników. Nie mam jednak pewności co do tego na ile optymalne jest to rozwiązanie.

Być może ktoś już projektował podobne rozwiązanie i ma jakiś pomysł?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Daiquiri
post
Post #2





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Najchętniej wykorzystałabym mechanizm budowania przez administratora rang z dowolnymi przywilejami... no ale nasz klient nasz pan.

Trzymanie wszystkiego w tabelach i odczytywanie poziomu dostępu "na życzenie" danego modułu jest dla mnie trochę słabe, ale z drugiej strony jak inaczej to przechowywać? Chyba zdecyduje się na trzymanie tego w tabeli z perms'ami (jak sugerował blooregard) z tym, że wczytam je jako zmienne sesji dla każdego użytkownika. Wtedy zapytanie wykona się raz, a konkretne funkcje odwołają się z pytaniem o pozwolenie do wartości tej zmiennej.

omeck - zastanawiałam się nad plikiem, ale sama nie wiem... myślę, że zmienne sesji załatwia mi problem wiecznych requestów do bazy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Dziękuję za podpowiedzi!
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: 27.12.2025 - 22:21