我想实现一个多用户 CMS 网站,每个用户都可以在自己的记录上执行 CRUD 操作。这意味着应该在记录级别而不是模型级别实现安全性。
我想出了2个解决方案:
- 每个模型中都有一个
owner_id
字段。 - 每个用户都有一个用于他们修改的模型的数据库。为所有相关记录(例如用户数据(姓名、电子邮件、用户名、密码)、由管理员编辑的模型,但不是用户等)保留一个主数据库。
解决方案 2,我正在考虑在 Apache 的帮助下实施。例如,我将为user3 设置http://user3_website.mydomain.com/,这将是与 www.mydomain.com 的主网站分开的网站。我将符号链接除/web/uploads
and之外的所有目录/config
:
/config
- 我需要 user3 的数据库配置/web/uploads
- 我会用于他们的上传。
是否有使用 Symfony 实现这一点的最佳实践/设计模式?我从未开发过可以根据用户动态选择数据库的网站(解决方案 2),所以我想知道这是否有意义。
我有使用 Symfony 1.x 的经验,但还没有在 Symfony2 上进行任何开发。