sql >> Database teknologi >  >> RDS >> Oracle

Bedste praksis for databasedesign for brugerrolletilladelser?

Som krokodilko skrev i sin kommentar, afhænger det af den grad af fleksibilitet, du har brug for.
Jeg har implementeret rollebaserede tilladelser for en af ​​mine klienter som følger:

  1. Bruger (bruger-id (PK), brugernavn (unikt), adgangskode (saltet og hashgjort! ), fornavn, efternavn, telefon osv.')
  2. Rolle (rolle-id (PK), rollenavn (unik), rollebeskrivelse)
  3. Tilladelse (tilladelses-id (PK), tilladelsesnavn (unik)) - fanerne/skærmbillederne/handlingerne går her
  4. Bruger til rolle (bruger-id, rolle-id) - PK er begge kolonner kombineret
  5. Role til tilladelse (rolle-id, tilladelses-id) - PK er begge kolonner kombineret

Men mit krav var at være så fleksibel som muligt, og det er et system, der stadig vokser (6 år og tæller).

Jeg gætter på, at mange applikationer kan have brugeren til at fungere som et en til mange forhold i stedet for mange til mange som i mit tilfælde, men jeg ville ikke gå hårdt ind for at kode tilladelser eller rolle til tilladelser i nogen applikation.

Yderligere forklaring:Rollebaseret sikkerhedsdatabasedesign a> på Hvad fanden ved jeg?




  1. Hvordan får man maksimum for et felt baseret på en dato og får også andre felter?

  2. OPDATERET:Fejl forårsager, at Microsoft Office 365 Build 2105 bryder adgangsapplikationer

  3. radiussøgning efter breddegrad/længdegrad

  4. Hvordan kan jeg forhindre logvækst i SQL Server, når jeg indsætter millioner af poster