Trzymanie listy uprawnień użytkownika w MySQLu

0

Użytkownik może stworzyć grupę i użytkownikom należącym do tej grupy może przydzielać uprawnienia, i teraz zastanawiam w jaki sposób trzymać te przydzielone permisje. Czy stworzyć tabelkę z uprawnieniami i trzymać tam id użytkownika i przydzieloną permisje czy trzymać np. jsona z permisjami w tabelce użytkownika.

1

Prawie zawsze lepsza tabelka. Wskazane przez zasady normalizacji baz danych jak i wielu innych powodów.

3
katakrowa napisał(a):

Prawie zawsze lepsza tabelka. Wskazane przez zasady normalizacji baz danych jak i wielu innych powodów.

Chyba że masz taki ruch że joiny zabijają aplikację. Wtedy jest lepsza denormalizacja. A kolejnym krokiem jest rezygnacja z bazy relacyjnej na np. Cassandrę. Ale dla aplikacji o małym ruchu osobne tabelki i joiny są w zupełności ok

1

Chyba że masz taki ruch że joiny zabijają aplikację. Wtedy jest lepsza denormalizacja. A kolejnym krokiem jest rezygnacja z bazy relacyjnej na np. Cassandrę. Ale dla aplikacji o małym ruchu osobne tabelki i joiny są w zupełności ok

W pierwszym kroku na wydajnościową bolączkę zastosowałbym cache plikowy -> później np. redis albo memcache ... Dopiero gdyby to nie wydalało sięgnął bym po alternatywne sposoby przechowywania danych..

0

Pewni jesteście, że kolega programuje dla banku / Googla / Facebooka ?
Ja na razie nie wydaje się, by myśleć o skrajnych wydajnościach

0
rejive142 napisał(a):

Użytkownik może stworzyć grupę i użytkownikom należącym do tej grupy może przydzielać uprawnienia, i teraz zastanawiam w jaki sposób trzymać te przydzielone permisje. Czy stworzyć tabelkę z uprawnieniami i trzymać tam id użytkownika i przydzieloną permisje czy trzymać np. jsona z permisjami w tabelce użytkownika.

Jakiego typu projekt tworzysz, w jakim środowisku / frameworkach?
Masz tam jakiś rodzaj Session?

Co do MySQL-a równie jestem za stosowną tabelą.

0

Ja bym trzymał w tabelce, potem ewentualnie propagował do cache (memcached, Redis) jako dane sesyjne. Zwykle zmiana uprawnień wymaga przelogowania, więc to jest ok.

1 użytkowników online, w tym zalogowanych: 0, gości: 1