sql >> Databáze >  >> RDS >> Oracle

Nejlepší postup při návrhu databáze oprávnění uživatelských rolí?

Jak napsal krokodilko ve svém komentáři, záleží na úrovni flexibility, kterou potřebujete.
Implementoval jsem oprávnění založená na rolích pro jednoho ze svých klientů takto:

  1. Uživatel (ID uživatele (PK), uživatelské jméno (jedinečné), heslo (osolené a zahašované! ), jméno, příjmení, telefon atd.')
  2. Role (ID role (PK), název role (jedinečný), popis role)
  3. Oprávnění (ID oprávnění (PK), název oprávnění (jedinečné)) – karty / obrazovky / akce jsou zde
  4. User To Role (ID uživatele, ID role) – PK jsou oba sloupce kombinované
  5. Role k oprávnění (ID role, ID oprávnění) – PK jsou oba sloupce kombinované

Mým požadavkem však bylo být maximálně flexibilní a je to systém, který se stále rozrůstá (6 let a stále více).

Myslím, že u mnoha aplikací může být uživatel ve vztahu jedna k mnoha, místo mnoho k mnoha jako v mém případě, ale nešel bych tvrdě zakódovat oprávnění nebo role na oprávnění v žádné aplikaci.

Další vysvětlení:Návrh bezpečnostní databáze na základě rolí na What the # I know?




  1. upozornění na změnu databáze odp.net

  2. Jak používat Oracle SQL*Plus

  3. Získejte počet duplicitních hodnot ve sloupci s výsledkem dotazu

  4. transakce mysql - vrátit zpět jakoukoli výjimku