我想听听关于优化我们的模式以实现以下内容的最佳方法的一些想法。使用Symfony2管理用户/组对象权限的最佳方法
我们有许多的对象/ DB条目(事件,地点等),其中有一些子对象(指相同的权限应用 - 图像,METAS等)
用户可以属于组,以便家长诸如事件,场地之类的对象可以由所有人进行编辑/查看,仅限于一个用户组。
目前我们有一个用户,用户组和组表来管理用户和组。
每个父对象,如场地作为user_id和group_id的列。
工作正常(在symfony 1.4中),但它很混乱 - 每个查询任何事情都必须做复杂的连接才能获得可能的组等等......我们希望找到一个更简单的方法。
我对Sf2 ACL组件感到非常兴奋,但我一遍遍地被告知我不应该使用它来查找用户可以管理的对象 - 而是应该使用ACL来查明是否允许用户管理他自己的对象(似乎不是很有用,但无论如何)。
我发现要做到这一点的所有替代尝试都表示从数据库中提取所有对象,然后按ACL过滤 - 这对妈妈和流行站点来说很可爱 - 不会发生在一百万个对象上。
所以...我很想听听有关如何做到这一点的想法 - 我们也愿意将symfony留给一些具有可扩展ACL解决方案但尚未发现任何内容的东西(php或ruby)尽管我们希望继续使用Sf,但对此也是开放的。请注意,我们打算在重要的情况下使用MongoDB。