0

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

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

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

4

2 回答 2

1

这目前没有遵循最佳实践,原因有两个:

  1. 您正在管理 master 数据库中的前端登录,而不是 Membership,但是您正在转向 Membership,这是一个不错的决定。请参阅安全 API
  2. 您将用户生成的内容 (UGC) 存储在主数据库中,这意味着您正在对 CM 实例进行完整的往返。我建议您使用自定义的额外数据库来更新它来存储 UGC。它可以像一个表一样简单,将用户名(例如domain\username)映射到关联的内容项,通过其 GUID(在“网络”数据库中)和实际的 UGC(来自用户的注释)。您可以创建一个轻量级实体框架或 LINQ to SQL 数据访问层来处理这个额外的数据库。
于 2013-10-04T14:21:15.677 回答
0

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

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

于 2013-10-04T13:47:21.623 回答