Ho un'app Web con diversi tipi di oggetto: Car
, Client
, Lead
. Ogni record ha un proprietario dell'utente e un utente può agire in base all'azione delle sue autorizzazioni solo sui propri record. Il database è MySQL.
Devo aggiungere al sistema una funzionalità in cui un utente può condividere un record specifico con un utente (o un gruppo di utenti) - probabilmente con livello di accesso (leggi, scrivi, completo). Come posso memorizzare queste autorizzazioni per avere un sistema efficiente di filtraggio che quando vengono interrogate. Ad esempio, in questo momento, l'unica condizione era smth come owner_id=user->id
.
Un modo sarebbe avere una tabella con: record_id, record_type, share_user_id, access_level. Per un record i dati verranno ricalcolati ogni volta che vengono "cambiate le impostazioni di condivisione".
La mia paura è che avendo un sacco di oggetti, questa tabella crescerebbe di dimensioni (oltre 10K di oggetti, oltre 100 utenti). C'è qualche altro approccio?