Sto scrivendo il mio primo programma "grande" in C#
e WPF
. È un sistema di database ( MySQL
) che ha tre elementi principali: contratti, aziende e persone. Ho l'interfaccia utente principale giù per la sezione Aziende del Database e ora sto cercando di gestire i privilegi degli utenti prima di andare oltre.
Ho centrato un ostacolo su ciò che sarebbe un modo per gestire i privilegi degli utenti. I privilegi includevano l'accesso come poter aggiungere, modificare o cancellare una società, la possibilità di visualizzare i dettagli privati di una persona (indirizzo di casa ecc.) E l'accesso a dettagli specifici del contratto (valore del lavoro, il cui lavoro su di esso). p>
Ci saranno molti diversi privilegi in tutto il sistema del Database in quanto molti saranno molto specifici per la sezione in cui ti trovi (non sarà un semplice sistema di privilegio di aggiunta / modifica / cancellazione). Un altro livello di complicazione è che l'utente vedrà diverse parti del Database in base al reparto in cui lavorano. Ad esempio, un venditore vedrà alcuni dettagli specifici di un'azienda mentre un costruttore vedrà qualcosa di completamente diverso, ma sulla stessa azienda.
Il mio pensiero iniziale è di avere una tabella dei privilegi in MySQL
, qualcosa che assomiglia a questo;
Ogniutentehapiùvociinquestatabella,inbaseallapartedelprogrammaincuisitrovano.Adesempio,sesonoinvendita,avrannocirca7/8vocibasateesclusivamentesuciòchelevenditepossonofareecosìviaecosìvia.Questosarebbegestitoinunsistemacomequesto;
Dove ogni CheckBox
corrisponderebbe a 0 o a 1 in quella voce per quella persona nel Database. Quando l'utente si collega al mio programma di database, ho impostato i loro privilegi sin dall'inizio - potrebbe raggiungere qualcosa come 75 variabili globali per ciò che l'utente può o non può fare nel programma che guardo più in basso quando necessario.
La mia domanda è davvero quale sarebbe un modo per gestire i privilegi in questo sistema? Non ho avuto molta esperienza in questo settore, quindi sono aperto ai suggerimenti!