Sitecore成员资格维护用户首选项数据

Sitecore成员资格维护用户首选项数据,sitecore,membership,Sitecore,Membership,我们使用Sitecore开发了一个公共网站。有一些公共登录用户可以将项目(文章)标记为已标记,并在浏览网站时添加注释以供日后参考。目前,我们正在使用主数据库中的Sitecore项目维护公共登录用户。 每次登录用户标记一篇文章并添加注释时,我们都会在内容树中的用户项中添加一个子项,并将注释内容保存在其中。 我们已经决定进入Sitecore会员模块,这样我们就可以使用它的个人资料信息功能等 我们面临的问题是导出这些子注释项。使用Sitecore成员资格模块进行此操作的合适方法是什么 我们已经考虑在主

我们使用Sitecore开发了一个公共网站。有一些公共登录用户可以将项目(文章)标记为已标记,并在浏览网站时添加注释以供日后参考。目前,我们正在使用主数据库中的Sitecore项目维护公共登录用户。 每次登录用户标记一篇文章并添加注释时,我们都会在内容树中的用户项中添加一个子项,并将注释内容保存在其中。 我们已经决定进入Sitecore会员模块,这样我们就可以使用它的个人资料信息功能等

我们面临的问题是导出这些子注释项。使用Sitecore成员资格模块进行此操作的合适方法是什么


我们已经考虑在主数据库中保持相同的用户结构,并将成员用户链接到这些用户项(类似外键的方法),并从中引用这些注释。关于这种方法有什么想法吗?

我建议您将标志/注释项移动到文章项本身之下,并将用户ID(Sitecore用户具有Guid ID)存储为标志/注释项中的字段


如果需要,您可以通过实现扩展Sitecore成员资格提供程序或创建自己的成员资格提供程序,通过这种方式,您可以在Sitecore主数据库之外存储标志和注释,这种方式可能需要

由于两个原因,目前没有遵循最佳做法:

  • 您管理的是主数据库中的前端登录,而不是成员身份,但是您正在转向成员身份,这是一个很好的决定。有关此信息,请参阅
  • 您将用户生成的内容(UGC)存储在主数据库中,这意味着您要进行到CM实例的完整往返。我建议您使用自定义的额外数据库来更新此数据库,以存储UGC。它可以是一个简单的表格,将用户名(例如,
    domain\username
    )通过GUID(在“web”数据库中)和实际UGC(用户注释)映射到相关内容项。您可以创建一个轻量级实体框架或LINQ到SQL数据访问层来处理这个额外的数据库