【发布时间】:2012-03-28 00:10:58
【问题描述】:
我想听听一些关于优化架构以实现以下目标的最佳方式的想法。
我们有许多对象/数据库条目(事件、场地等),其中一些具有子对象(意味着应用相同的权限 - 图像、元数据等)
用户可以属于组,因此活动、场地等父对象可以对所有人进行编辑/查看,仅限组,只有一个用户。
目前我们有一个用户、用户组和组表来管理用户和组。
每个父对象(例如场所)作为 user_id 和 group_id 的列。
工作正常(在 symfony 1.4 中)但它很混乱 - 每个查询都必须进行复杂的连接以获取可能的组等......我们希望找到一种更简单的方法。
我对 Sf2 ACL 组件感到非常兴奋,但我被反复告知我不应该使用它来查找用户可以管理的对象 - 而我应该使用 ACL 来确定是否允许用户管理他自己的对象(看起来不是很有用,但无论如何)。
我发现这样做的所有在线替代尝试都是从数据库中提取所有对象然后按 ACL 过滤 - 这对于妈妈和流行网站来说很可爱 - 不会发生一百万个对象。
所以...我很想听听我们如何做到这一点的想法——我们也愿意离开 symfony 去寻找具有可扩展 ACL 解决方案但到目前为止还没有找到任何东西(php 或 ruby)的东西如此开放尽管我们很乐意继续使用 Sf。请注意,我们打算在重要的情况下使用 MongoDB。
【问题讨论】: