ciao ragazzi,
dovrei creare un database similfacebook e una parte delle specifiche dice:
" Ogni album ha un nome, una data di creazione e una politica di accesso (visibili agli utenti nella propria lista amici, agli utenti nella lista amici degli utenti della propria lista amici, a tutti gli utenti – scelte mutuamente esclusive). "
ho creato tutto gli schemi er, etc etc.. e quindi il database mysql in cui ci sono:
ALBUM (ID_album, titolo, data creazione, visibilita)
UTENTE (email, cognome, nome, lavoro, compleanno, orientamento religioso, orientamentopolitico, università)
POSSIEDEALBUM (album, utente)
AMICIZIA (amico1, amico2)
Il mio problema è come va gestita la politica di accessi?
avevo pensato di mettere l attributo visibilita ad album in modo tale da avere amici A, amici di amici AA e tutti gli utenti T . però poi le query le faccio sempre come root , quindi come faccio a sapere quale utente sta chiedendo la visione dell album?
seconda scelta è creare tanti utenti al database per quanti ne sono nella tabella UTENTE e giocare con i privilegi di mysql. Ma penso, un ipotetica applicazione che usa il database si connette di volta in volta con un utente diverso? Secondo il mio immaginario si connette come root una sola volta e da li interroga il database.
la mia domanda è: questa cosa va gestita a livello database o va pensata a livello applicazione ? nel senso magari mi creo la stored procedure con in ingresso l utente di cui visualizzare gli album e l'utente che chiede la visualizzazione e quindi da li se ci sono le condizioni visualizzo gli album.
se riuscite a darmi qualche dritta.. sto in piena confusione! grazie

Rispondi quotando
