sql >> Databáze >  >> RDS >> Mysql

Jak spravovat uživatelské role v databázi?

Pomocí tabulky spojení:role_id a permit_id identifikujete, jaká oprávnění jsou přidružena ke kterým rolím

EDIT:

Příklad tabulek

Tabulka ROLE

Role_ID Role_Name
1       Standard User
2       Super User
3       Guest

Tabulka OPRÁVNĚNÍ

Permission_ID Permission_Name
1             View User List
2             Update Own User Account
3             Update Any User Account

Tabulka ROLE_PERMISSION

Role_ID Permission_ID
1       1    // Role 1 (Standard User) grants View User List
1       2    //        and Update Own User Account
2       1    // Role 2 (Super User) grants View User List,
2       2    //        Update Own User Account,
2       3    //        and Update Any User Account
3       1    // Role 3 (Guest) grants View User List

Výpis oprávnění pro zadané ID role

select R.role_id,
       P.permission_id,
       P.permission_name
  from role R,
       permission P,
       role_permission RP
 where RP.permission_id = P.permission_id
   and RP.role_id = R.role_id
   and R.role_id = 1 


  1. Co je to „vícedílný identifikátor“ a proč jej nelze svázat?

  2. Problém cizího klíče migrace Laravelu

  3. Vkládání plovoucích/desetinných hodnot PHP do MySQL

  4. Seskupit podle sloupce a více řádků do jednoho řádku více sloupců