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
userpuò avere uno o piùroles - Ogni
roleè composto da un set dipermissions - Ogni
permissionspecifica le azioni disponibili per quel ruolo su unresourcedi 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?