Chciałbym usłyszeć kilka myśli na temat najlepszego sposobu optymalizacji naszego schematu, aby osiągnąć następujące.Najlepszy sposób zarządzania uprawnieniami użytkownika/obiektu grupowego za pomocą Symfony2
Mamy liczbę obiektów/db wpisy (imprezy, lokali itp), z których niektóre mają dzieci obiektów (czyli zastosować te same uprawnienia - zdjęcia, Metas, etc)
użytkownicy mogą należeć do grup tak rodzica Obiekty takie jak wydarzenia, miejsca mogą być edytowalne/widoczne dla wszystkich, tylko dla grupy, tylko dla jednego użytkownika.
Obecnie mamy tabelę użytkowników, grup użytkowników i grup do zarządzania użytkownikami i grupami.
Każdy obiekt nadrzędny, taki jak miejsca, jako kolumna dla id_użytkownika i identyfikator_grupy.
Działa dobrze (w Symfony 1.4), ale jest brudny - każde zapytanie o cokolwiek musi być złożone, aby uzyskać możliwe grupy itp. Chcielibyśmy znaleźć prostszy sposób.
Byłem bardzo podekscytowany komponentem ACL Sf2, ale ciągle mi powtarzano, że nie powinienem używać go do znajdowania obiektów, którymi może zarządzać użytkownik - raczej powinienem użyć ACL, aby dowiedzieć się, czy użytkownik jest dozwolony zarządzać własnymi przedmiotami (nie wydaje się bardzo przydatny, ale cokolwiek).
Wszystkie alternatywne próby, które udało mi się znaleźć, mówią, że należy wyciągnąć wszystkie obiekty z db, a następnie filtrować według ACL - to urocze dla mamy i strony pop - nie stanie się z milionem obiektów.
Więc ... Chciałbym usłyszeć pomysły na to, w jaki sposób możemy to zrobić - jesteśmy również otwarci na pozostawienie symfony dla czegoś, co ma skalowalne rozwiązanie ACL, ale do tej pory nie znaleźliśmy niczego (php lub ruby), więc otwarte na to, chociaż chcielibyśmy nadal używać Sf. Zauważ, że zamierzamy używać MongoDB w przypadku, gdy ma to znaczenie.