我想要做的是在umbraco我将为用户手动创建一个配置文件。之后,用户可以更新此配置文件。这很简单,不是吗?但复杂的部分来了。每个用户都应该能够添加将在其页面上显示的帖子并更新他的图库。有人做过类似的事吗?我打赌是的!什么是最佳做法?
谢谢你们。
PS:我正在使用Umbraco 7和Razor。答案 0 :(得分:1)
这里的关键问题是:您期待多少用户?
用户强>
如果我们谈论几百个,我建议只使用Umbraco的成员API并添加额外的字段以满足配置文件所需的其他数据。这样,可以通过CMS成员区域访问所有成员数据。
如果用户群将成千上万,我会考虑"滚动自己的"成员资格(例如使用和扩展.Net' s SimpleMembershipProvider
)。这样做的原因是当你超过一定规模的用户群时,你必须考虑数据访问和数据库加载等,还要管理用户数据。
从Umbraco加载成员记录需要调用API,这反过来需要多次调用数据库(检索节点,属性和属性值等)。因此,当用户群增加超过某一点时,您拥有更加简化的架构将更好地为站点提供服务。想象一下,您有100名用户全天登录并使用您的网站。如果你没有像Redis那样使用一些缓存,那么对数据库的调用会很高。
另请考虑针对您的用户运行报告。运行成员API的报告可能是一个非常昂贵的过程,但如果您使用成员资格提供程序则不是这样。
最后,我会考虑安全性和数据管理。您可以将所有成员信息存储在单独的数据库中,包括帖子和媒体参考。这样,您的Umbraco安装仍然保持干净,但您的用户数据仍然是单独的。
帖子和媒体
就用户的帖子和媒体而言 - 如果可以,请避免将其存储在Umbraco中。就个人而言,我尝试将属于该网站的内容与属于第三方的内容分开,例如用户。
这是因为在CMS中存储用户的帖子和媒体会给CMS带来不必要的压力和膨胀,从而获得很少的收益。还存在安全问题。要在CMS中存储用户生成的内容,您需要提供一个允许用户直接发布到CMS的表单。如果不小心,这可以用于垃圾邮件CMS。我最近一起工作的开发人员(反对建议)面向公众"评论"直接在CMS内容树中创建注释节点的表单。当然,不可避免的事情发生了,项目管理团队每天早上的第一部分费力地从CMS中删除了数十个垃圾邮件节点。
美丽的是,无论您选择哪种解决方案,Umbraco都足够灵活处理它。例如,可以轻松创建允许从单独数据库中选择用户的数据类型。
所以,需要考虑很多!