sql >> Database >  >> RDS >> Oracle

Beste gebruikersrolmachtigingen databaseontwerppraktijk?

Zoals krokodilko in zijn commentaar schreef, hangt het af van het niveau van flexibiliteit dat je nodig hebt.
Ik heb op rollen gebaseerde machtigingen voor een van mijn klanten als volgt geïmplementeerd:

  1. Gebruiker (gebruikers-ID (PK), gebruikersnaam (uniek), wachtwoord (gezouten en gehasht! ), voornaam, achternaam, telefoon etc')
  2. Rol (rol-ID (PK), rolnaam (uniek), rolbeschrijving)
  3. Toestemming (toestemmings-ID (PK), toestemmingsnaam (uniek)) - de tabbladen / schermen / acties komen hier
  4. Gebruiker naar rol (gebruikers-ID, rol-ID) - PK is beide kolommen gecombineerd
  5. Rol tot machtiging (rol-ID, machtigings-ID) - PK is beide kolommen gecombineerd

Maar mijn vereiste was om zo flexibel mogelijk te zijn, en het is een systeem dat nog steeds groeit (zes jaar later).

Ik denk dat veel applicaties de gebruiker de rol kunnen geven van een een-op-veel-relatie, in plaats van een veel-op-veel-relatie zoals in mijn geval, maar ik zou in geen enkele applicatie harde coderingsmachtigingen of rolmachtigingen gebruiken.

Nadere uitleg:Op rollen gebaseerd ontwerp van beveiligingsdatabase op Wat de # weet ik?




  1. Hoe input van de gebruiker te krijgen tijdens runtime

  2. ASP Classic SQL Query-foutbericht, juiste syntaxis alstublieft

  3. Hoe de gegevens ophalen uit een binair logbestand en invoegen in onze gewenste tabel in MySQL?

  4. mysql oledb-stuurprogramma