Razor Umbraco创建复杂配置文件-最佳实践

Razor Umbraco创建复杂配置文件-最佳实践,razor,umbraco,membership,umbraco7,Razor,Umbraco,Membership,Umbraco7,我想做的是,在umbraco中,我将为用户手动创建一个配置文件。之后,用户可以更新此配置文件。这很简单,不是吗?但复杂的部分来了。每个用户都应该能够添加将显示在其页面上的帖子,并更新其图库。有人做过类似的事情吗?我打赌是的!最佳实践是什么 谢谢各位 附言:我用的是Umbraco 7和剃须刀 这里的关键问题是:您希望有多少用户 用户 如果我们谈论的是几百个,我建议只使用Umbraco的members API,并添加额外的字段以满足概要文件所需的额外数据。这样,所有成员数据都可以通过CMS成员区域访

我想做的是,在umbraco中,我将为用户手动创建一个配置文件。之后,用户可以更新此配置文件。这很简单,不是吗?但复杂的部分来了。每个用户都应该能够添加将显示在其页面上的帖子,并更新其图库。有人做过类似的事情吗?我打赌是的!最佳实践是什么

谢谢各位


附言:我用的是Umbraco 7和剃须刀

这里的关键问题是:您希望有多少用户

用户

如果我们谈论的是几百个,我建议只使用Umbraco的members API,并添加额外的字段以满足概要文件所需的额外数据。这样,所有成员数据都可以通过CMS成员区域访问

如果用户基数将达到数千,我会考虑“滚动您自己”的成员(例如使用和扩展.NET的代码> SimpleMembershipProvider < /代码>)。这样做的原因是,当你超过一定的用户基数时,你必须考虑数据访问和数据库上的负载等等,而且还要管理用户数据。 从Umbraco加载成员记录需要调用API,而API又需要多次调用数据库(检索节点、属性和属性值等)。因此,当用户群增长超过某一点时,拥有一个更加精简的架构将更好地为站点服务。想象一下,每天有100多个用户登录并使用您的站点。对数据库的调用会很高,特别是如果不使用Redis之类的缓存

也考虑用户的运行报告。在成员API上运行报告可能是一个非常昂贵的过程,但如果使用成员资格提供程序,情况并非如此

最后,我将考虑安全性和数据管理。您可以将所有成员信息存储在单独的数据库中,包括帖子和媒体引用。这样,您的Umbraco安装将保持干净,但您的用户数据也将保持独立

帖子和媒体

就用户的帖子和媒体而言,如果可以,请避免将其存储在Umbraco中。就我个人而言,我试图将属于网站的内容与属于第三方(如用户)的内容分开

这是因为在CMS中存储用户的帖子和媒体会给CMS带来不必要的压力和膨胀,而收益甚微。还有一个安全问题。为了在CMS中存储用户生成的内容,您需要提供一个表单,允许用户直接发布到CMS中。如果不小心,这可以用来垃圾邮件的CMS。与我一起工作的一位开发人员最近(根据建议)构建了一个面向公众的“评论”表单,该表单直接在CMS内容树中创建了评论节点。当然,不可避免的事情发生了,项目管理团队每天早上的第一部分都在费力地从CMS中删除几十个垃圾邮件节点

美妙之处在于,无论您选择哪种解决方案,翁布拉科都能灵活应对。例如,创建允许从单独的数据库中选择用户的数据类型很容易

所以,很多事情要考虑!