Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Najlepsza praktyka projektowania bazy danych uprawnień użytkownika?

Jak napisał krokodilko w swoim komentarzu, zależy to od poziomu elastyczności, jakiego potrzebujesz.
Zaimplementowałem uprawnienia oparte na rolach dla jednego z moich klientów w następujący sposób:

  1. Użytkownik (identyfikator użytkownika (PK), nazwa użytkownika (unikalna), hasło (solone i zahaszowane! ), imię, nazwisko, telefon itp.
  2. Rola (identyfikator roli (PK), nazwa roli (unikalna), opis roli)
  3. Pozwolenie (identyfikator pozwolenia (PK), nazwa pozwolenia (unikalna)) - zakładki / ekrany / akcje trafiają tutaj
  4. Od użytkownika do roli (identyfikator użytkownika, identyfikator roli) – PK to obie kolumny połączone
  5. Role to Permission (identyfikator roli, identyfikator uprawnienia) - PK to obie kolumny połączone

Ale moim wymaganiem było być jak najbardziej elastycznym, a jest to system, który wciąż się rozwija (od 6 lat).

Myślę, że wiele aplikacji może mieć użytkownika do roli relacji jeden-do-wielu, zamiast wielu-do-wielu, jak w moim przypadku, ale nie będę sztywno kodować uprawnień ani roli do uprawnień w żadnej aplikacji.

Dalsze wyjaśnienie:Projekt bazy danych bezpieczeństwa oparty na rolach na Co # wiem?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. czy klucz obcy zawsze odwołuje się do unikalnego klucza w innej tabeli?

  2. Konwertuj znacznik czasu/datę z UTC na EST Oracle SQL

  3. Błąd ORA-01804 podczas próby załadowania Oracle dbDriver

  4. Oracle SQL — REGEXP_LIKE zawiera znaki inne niż a-z lub A-Z

  5. Zwróć wartość logiczną z funkcji oracle