Tôi muốn nghe một số suy nghĩ về cách tốt nhất để tối ưu hóa lược đồ của chúng tôi để đạt được những điều sau đây.Cách tốt nhất để quản lý quyền đối tượng người dùng/nhóm với Symfony2
Chúng tôi có một số đối tượng/mục db (sự kiện, địa điểm, vv) một số trong đó có trẻ em các đối tượng (có nghĩa là các điều khoản tương tự áp dụng - hình ảnh, METAS, vv)
Người dùng có thể thuộc về các nhóm để cha mẹ các đối tượng như sự kiện, địa điểm có thể chỉnh sửa/có thể xem được, chỉ nhóm, chỉ một người dùng.
Hiện tại chúng tôi có bảng người dùng, nhóm người dùng và nhóm để quản lý người dùng và nhóm.
Mỗi đối tượng mẹ như địa điểm dưới dạng cột cho user_id và group_id.
Hoạt động tốt (trong symfony 1.4) nhưng nó lộn xộn - mọi truy vấn cho mọi thứ đều phải thực hiện các phép nối phức tạp để có được các nhóm có thể, v.v ... Chúng tôi muốn tìm một cách đơn giản hơn.
Tôi thực sự vui mừng về thành phần ACL Sf2 nhưng tôi không được sử dụng nó để tìm các đối tượng mà người dùng có thể quản lý - thay vào đó tôi nên sử dụng ACL để tìm hiểu xem người dùng có được phép không để quản lý các đối tượng của riêng mình (dường như không hữu ích lắm nhưng bất cứ điều gì).
Mọi nỗ lực thay thế trực tuyến mà tôi tìm thấy để thực hiện điều này nói để kéo tất cả các đối tượng khỏi db rồi lọc theo ACL - nó dễ thương cho một trang mẹ và pop - sẽ không xảy ra với một triệu đối tượng.
Vì vậy, tôi rất muốn nghe ý tưởng về cách chúng tôi có thể làm điều này - chúng tôi cũng sẵn sàng để thoát khỏi symfony cho một thứ có giải pháp ACL có thể mở rộng nhưng chưa tìm thấy bất kỳ thứ gì (php hoặc ruby) mở cửa cho điều đó, mặc dù chúng tôi rất thích tiếp tục sử dụng Sf. Lưu ý rằng chúng tôi dự định sử dụng MongoDB trong trường hợp có vấn đề.