Me gustaría escuchar algunas ideas sobre la mejor manera de optimizar nuestro esquema para lograr lo siguiente.La mejor forma de administrar permisos de objeto de usuario/grupo con Symfony2
Tenemos una serie de objetos/entradas db (eventos, lugares, etc.) algunos de los cuales tienen niños objetos (que significa aplicar los mismos permisos - imágenes, Metas, etc.)
Los usuarios pueden pertenecer a grupos de manera matriz objetos tales como eventos, lugares pueden ser editables/visibles por todos, solo grupos, solo un usuario.
Actualmente tenemos un usuario, un grupo de usuarios y una tabla de grupos para administrar usuarios y grupos.
Cada objeto principal como lugares como una columna para user_id y group_id.
Funciona bien (en Symfony 1.4) pero es complicado - cada consulta para cualquier cosa tiene que hacer combinaciones complejas para obtener posibles grupos, etc ... Nos gustaría encontrar una manera más simple.
Estaba realmente entusiasmado con el componente Sf2 ACL, pero una y otra vez me han dicho que no debería usarlo para encontrar objetos que un usuario pueda administrar, sino que debería usar ACL para saber si un usuario está autorizado para administrar sus propios objetos (no parece muy útil, pero lo que sea).
Todos los intentos alternativos en línea que encontré para hacer esto dicen que sacar todos los objetos de db luego filtrar por ACL - es lindo para un sitio de mamá y papá - no va a pasar con un millón de objetos.
Entonces ... Me encantaría escuchar ideas sobre cómo podríamos hacer esto - también estamos abiertos a dejar Symfony por algo que tenga una solución de ACL escalable pero que no haya encontrado nada hasta el momento (php o ruby) abierto a eso también, aunque nos encantaría seguir usando Sf. Tenga en cuenta que tenemos la intención de utilizar MongoDB en caso de que importe.