Php 如何实现多用户cms?
我想实现一个多用户CMS网站,每个用户都可以在自己的记录上执行CRUD操作。这意味着应该在记录级别而不是模型级别实现安全性 我提出了两种解决方案:Php 如何实现多用户cms?,php,symfony,content-management-system,Php,Symfony,Content Management System,我想实现一个多用户CMS网站,每个用户都可以在自己的记录上执行CRUD操作。这意味着应该在记录级别而不是模型级别实现安全性 我提出了两种解决方案: 在每个型号中都有一个owner\u id字段 为每个用户修改的模型创建一个数据库。为所有相关记录(如用户数据(姓名、电子邮件、用户名、密码)、管理员编辑的模型(但不是用户)保留一个主数据库 解决方案2,我想在Apache的帮助下实现。例如,对于user3,这将是一个独立于主网站www.mydomain.com的网站。除了/web/uploads和/
owner\u id
字段解决方案2,我想在Apache的帮助下实现。例如,对于user3,这将是一个独立于主网站www.mydomain.com的网站。除了
/web/uploads
和/config
之外,我将对所有目录进行符号链接:
-我需要user3的数据库配置/config
-我将使用它们进行上传/web/uploads
是否有一种最佳实践/设计模式可以通过Symfony实现这一点?我从未开发过一个可以根据用户动态选择数据库的网站(解决方案2),所以我想知道这是否有意义
我有使用Symfony 1.x的经验,但尚未对Symfony2进行任何开发。我会选择解决方案1,为所有实例提供一个数据库,其中包含一个所有者id字段。这样维护比较容易。在某些情况下,您可能必须对数据库进行更改,并且必须在多个数据库上进行更改可能会成为一场噩梦,除非您以某种方式将其自动化
除非你有一些严重的安全问题需要考虑,否则在单独的数据库中做它几乎没有任何优势。 < P>我将使用解决方案1,对于拥有Orrer-SoID字段的所有实例都有一个数据库。这样维护比较容易。在某些情况下,您可能必须对数据库进行更改,并且必须在多个数据库上进行更改可能会成为一场噩梦,除非您以某种方式将其自动化
除非你有一些严重的安全问题需要考虑,否则在单独的数据库中做这件事几乎没有什么好处。如果我为一个用户设计了大量的第三方软件/插件,那该怎么办?在这种情况下,我必须扩展所有这些,添加所有者id,并确保不会破坏它们。这就是为什么我考虑解决方案2的原因。你觉得怎么样?对不起,我直到现在才注意到你的评论。在这种情况下,您可能真的没有选择,只能使用解决方案2,扩展或更改第三方软件和插件可能会很快成为一个巨大的维护问题。如果我使用了大量为单个用户设计的第三方软件/插件,该怎么办?在这种情况下,我必须扩展所有这些,添加所有者id,并确保不会破坏它们。这就是为什么我考虑解决方案2的原因。你觉得怎么样?对不起,我直到现在才注意到你的评论。在这种情况下,您可能真的没有选择,只能使用解决方案2,扩展或更改第三方软件和插件可能会很快成为一个巨大的维护问题。