Sto progettando un database che contiene le informazioni per gli utenti di tre app diferentes che condividono l'accesso ai dati tramite un'API. Per ogni utente sto memorizzando credenziali, profilo e ruoli.
Quello che non vedo l'ora di avere dovrebbe soddisfare il seguente requisito:
Alcuni utenti devono avere accesso a più di un'app. L'utente avrà diversi ruoli o permessi per accedere a determinate risorse o viste protette in ogni app. L'utente dovrebbe essere in grado di accedere ad ogni app utilizzando un set unico di credenziali username / password.
Questo è lo schema che ho sviluppato finora:
Lascia che ti spieghi brevemente:
- Ogni utente ha accesso a determinate app tramite la tabella
app_access
- Ogni
app
è composto da un set diresources
- A
user
può avere uno o piùroles
- Ogni
role
è composto da un set dipermissions
- Ogni
permission
specifica le azioni disponibili per quel ruolo su unresource
di uno specificoapp
.
Voglio sapere se questo schema è buono per realizzare ciò di cui ho bisogno? Esistono modelli conosciuti per questo requisito? Cosa potrebbe essere migliorato nel mio design?