Mi piacerebbe sentire alcuni pensieri sul modo migliore per ottimizzare il nostro schema per ottenere quanto segue.Il modo migliore per gestire le autorizzazioni degli oggetti utente/gruppo con Symfony2
Abbiamo un certo numero di oggetti/voci db (eventi, luoghi, ecc) alcune delle quali hanno figli oggetti (che significa si applicano le stesse autorizzazioni - immagini, il METAS, ecc)
utenti possono appartenere a gruppi in modo genitore oggetti come eventi, luoghi possono essere modificabili/visualizzabili da tutti, solo gruppo, solo un utente.
Attualmente abbiamo un utente, un gruppo di utenti e una tabella di gruppo per gestire utenti e gruppi.
Ogni oggetto padre, ad esempio le sedi come colonna per user_id e group_id.
Funziona bene (in symfony 1.4) ma è caotico - ogni query per qualsiasi cosa deve fare join complessi per ottenere possibili gruppi ecc ... Ci piacerebbe trovare un modo più semplice.
Ero davvero entusiasta del componente Sf2 ACL ma mi viene ripetuto che non dovrei usarlo per trovare oggetti che un utente può gestire, piuttosto che dovrei usare ACL per scoprire se un utente è autorizzato gestire i propri oggetti (non sembra molto utile ma qualunque).
Tutti i tentativi alternativi online che ho trovato per fare questo dicono di estrarre tutti gli oggetti da db e poi filtrarli da ACL - è carino per un sito mamma e pop - non succederà con un milione di oggetti.
Quindi ... mi piacerebbe sentire le idee su come potremmo fare questo - siamo anche aperti a lasciare symfony per qualcosa che ha una soluzione ACL scalabile ma non ho trovato nulla finora (php o ruby) così aperto anche a quello, anche se ci piacerebbe continuare a usare Sf. Nota che intendiamo usare MongoDB nel caso che importi.