sql >> Databasteknik >  >> RDS >> Oracle

Bästa praxis för databasdesign för användarrollbehörigheter?

Som krokodilko skrev i sin kommentar beror det på vilken flexibilitet du behöver.
Jag har implementerat rollbaserade behörigheter för en av mina kunder enligt följande:

  1. Användare (användar-id (PK), användarnamn (unikt), lösenord (saltat och hashat! ), förnamn, efternamn, telefon etc')
  2. Roll (roll-id (PK), rollnamn (unik), rollbeskrivning)
  3. Behörighet (behörighets-id (PK), behörighetsnamn (unikt)) - flikarna/skärmarna/åtgärderna visas här
  4. Användare till roll (användar-id, roll-id) – PK är båda kolumnerna kombinerade
  5. Roll till behörighet (roll-id, behörighets-id) - PK är båda kolumnerna kombinerade

Men mitt krav var att vara så flexibel som möjligt, och det är ett system som fortfarande växer (6 år och räknar).

Jag antar att många applikationer kan ha användaren till rollen som en till många-relation, istället för många till många som i mitt fall, men jag skulle inte gå hårt åt att koda behörigheter eller roll till behörigheter i någon applikation.

Ytterligare förklaring:Rollbaserad säkerhetsdatabasdesign på Vad vet jag?




  1. Att ladda mysql-tabellen till python tar väldigt lång tid jämfört med R

  2. hur man ställer in django och mysql att fungera med UTF-8

  3. PostgreSQL:Hur skickar man parametrar från kommandoraden?

  4. Hämta hierarki från en tabell som denna