Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] uprawnienia użytkownika
Forum PHP.pl > Forum > PHP
wbijok
Witam,
Mam problem jak koncepcyjnie podejść do problemu uprawnień użytkownika. Jest tabela z 50 kolumnami. Każdy użytkownik musi mieć możliwość widoczności i edycji poszczególnych kolumn. Jak podejść do takiego zagadnienia? Druga tabela z view1,edit1,view2,edit2.... itd i tam oznaczać 0 lub 1? Czy można to jakoś optymalniej rozwiąziązać?
Michael2318
Chyba najprościej będzie dodać dodatkową tabelę o strukturze:
Cytat
| user_id | view | edit |
| 2 | 1 | 0 |


I przy sprawdzaniu czy user ma prawo do jakiejś akcji:
  1. SELECT * FROM `access` WHERE user_id = X;
  2. // bla bla
  3. if ( $row['view'] )
  4. {
  5. echo 'masz prawo do ogladania tej zawartosci';
  6. }
  7. else
  8. {
  9. die('nie masz uprawnien!');
  10. }
Wasper
Zdefiniowanie roli, dla kazdej roli lista tabel/kolumn, do ktorych maja prawa, w r czy wr, a pozniej relacja user - rola. Mozesz rowniez przypisywac po kilka roli dla jednego uzytkownika, ale to juz raczej w przypadku zdefiniowanych procesow.

A swoja droga... jedna tabela z 50 kolumnami, duza troche smile.gif
Greg0
Ja sprawę roli zawsze rozwiązuję relacją many2many. Osobna tabela na role, osobna na użytkowników i osobna na linkowanie ich z rolami.
Wasper
Tylko tak, wlasnie o tym pisze smile.gif

przykladowo
crole (id, nazwa, status)
cuser (id, login, pass)
cuser_role (user_id, role_id)

tak samo mozna zdefiniowac mozliwosci edycji/widoku poszczegolnych kolumn w tabeli dla poszczegolnej roli i wtedy uzytkownik sie loguje, na start otrzymuje role i juz wszystko ustawia sie samo 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.