Sto lavorando in un progetto jsp e mi sono bloccato in un grosso problema.
Il mio progetto è costituito da una tabella di account per super amministratore, rivenditore, amministratore e utenti per dirigenti e manager mappati nell'account
Permission
Super admin può visualizzare o aggiungere dettagli di rivenditori, amministratori, dirigenti e gestori e modificare il proprio account
Il rivenditore può visualizzare o aggiungere dettagli di amministratori, dirigenti e gestori e modificare il proprio account ma non è in grado di creare un rivenditore
L'amministratore può visualizzare o aggiungere dettagli di dirigenti e manager e può visualizzare o modificare il proprio account ma non è in grado di creare l'amministratore
I dirigenti possono vedere solo i suoi dettagli e modificarlo
Quindi la massima priorità è per l'account super amministratore che ha accesso a tutti, quindi arriva l'account rivenditore che ha accesso all'account admin e all'account inferiore che ha creato, quindi l'account amministratore può accedere agli utenti manager e executives, quindi l'utente manager può accedere ai dirigenti e quindi esecutivo può vedere solo le sue informazioni
Ho una tabella di account e utenti, gli account possono essere super amministratore, rivenditore e amministratore hanno tutti un account_id e gli utenti sono manager e dirigenti con user_id
Il mio problema è che come farlo, come mappare questi ID perché il rivenditore ha account_id e può aggiungere un account id (admin) così da recuperare i dettagli del rivenditore devo anche recuperare i dettagli di un account amministratore inferiore
Allo stesso modo per ogni tipo di account o utente che login devo applicare una query sql diversa Per esempio se ho una tabella aggiuntiva di dettagli di chiamata che hanno dettagli su quale utente (user_id) riceve una chiamata e quale account (account_id) l'utente è mappato quindi devo applicare una query sql diversa per account diversi e gli utenti accedono
come per super-admin select * from call-details
per rivenditore select * from call-details
di rivenditore e dettagli di chiamata dell'account associato ad esso
per admin select * from call-details
dove la chiamata riceve su quell'account.
e così via e ho più tabella e più pagine, quindi è molto difficile applicare questo approccio.
C'è qualche approccio con il quale posso risolvere questo problema con un modo meno difficile. Ho fatto del mio meglio per spiegare il mio problema, per favore chiedi di nuovo se hai qualche dubbio a capire il mio problema.
Qualsiasi aiuto sarebbe apprezzato.