• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dostęp użytkownika do funkcjonalności na stronie zapisany w bazie danych - najlepsze rozwiązanie?

VPS Starter Arubacloud
0 głosów
219 wizyt
pytanie zadane 25 lutego 2016 w SQL, bazy danych przez CzlowiekSkrypt Nałogowiec (26,340 p.)
Chciałbym żeby dany użytkownik miał dostęp tylko do niektórych rzeczy na stronie, autoryzację chcę trzymać w bazie danych bo wydaje mi się to najprostszym rozwiązaniem aczkolwiek mam taką rozkminę:

Mój pierwszy pomysł:
W tabeli users zrobić kilka kolumn func1, func2, func3, func4  i siedziałoby tam 0 albo 1.

2 Pomysł
Zrobić jedną kolumnę np 'access' w tabeli users i trzymać tam string np '1425', przy wyciąganiu rozbić to i każda liczba oznacza dostęp do konkretnej funkcjonalności. Potem można UPDATE'M dopisać 3 i wskakuje nowe uprawnienie :)

3 Pomysł
osobna tablica access z relacją do tabeli users i tam wpakować func1 func2 func3 func4 etc

To dobre rozwiązania? Jeśli nie liczę na wasze ciekawe pomysły  :)

3 odpowiedzi

+1 głos
odpowiedź 25 lutego 2016 przez Magicone Nałogowiec (45,100 p.)
3 przedstawia się najsensowniej. W razie edycji uprawnień możesz szybko coś zmienić.
komentarz 25 lutego 2016 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
Też mi się tak właśnie zdaje, nie będzie bałaganu wtedy :)
+1 głos
odpowiedź 25 lutego 2016 przez Bantu Nałogowiec (34,170 p.)
Nie wiem co chcesz wykombinować ale rozwiązanie z mojej perspektywy jest banalne. Robisz tabele z użytkownikami, robisz tabelę z funkcjami, które może posiadać użytkownik. W tabeli z funkcjami będą trzymane de facto tylko flagi. Więc robisz sobie powiązanie powiedzmy jeden do jednego. I w każdej chwili możesz sobie możesz sobie sprawdzać czy dany użytkownik posiada daną funkcjonalność z drugiej tabeli, Mniej więcej będzie to działać na podobnej, a raczej na takiej samej zasadzie jak napisałeś w pkt. 1. Ale będzie łatwiejsze w modyfikowaniu i ogólnie ładniejsze ;)

PS Sorry, w sumie to rozwiązanie opisałeś w pkt. 3, a nie 1 ;)
+1 głos
odpowiedź 25 lutego 2016 przez gromula Stary wyjadacz (10,070 p.)

 

Pamiętaj aby zrobić to w cache bo nie potrzebnie będziesz obciążał serwer odpytując ją o każde wejście do strony


 

komentarz 26 lutego 2016 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
Dobra sugestia ! :)

Podobne pytania

0 głosów
1 odpowiedź 199 wizyt
pytanie zadane 25 marca 2016 w SQL, bazy danych przez CzlowiekSkrypt Nałogowiec (26,340 p.)
0 głosów
3 odpowiedzi 274 wizyt
pytanie zadane 17 października 2018 w SQL, bazy danych przez Greeenone Pasjonat (16,100 p.)
0 głosów
1 odpowiedź 297 wizyt
pytanie zadane 20 lipca 2018 w PHP przez dobre.rece Nowicjusz (200 p.)

92,455 zapytań

141,263 odpowiedzi

319,100 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...