2

有没有人尝试过集成 AspDotNetStorefront 和 Sitecore?在过去的几天里,我一直在尝试想出一种方法来让这两个系统很好地协同工作,但据我所知,这似乎并不可行。到目前为止我遇到的几个问题:

  • 两者之间的身份验证(AspDotNetStorefront 有自己的实现,Sitecore 只是使用/扩展 .NET Membership)
  • AspDotNetStorefront 的主 DLL 是当我得到黄屏时在堆栈跟踪中弹出的内容,但是该 DLL 被混淆了,所以我无法弄清楚问题是什么。

最大的问题是我们需要将现有的 AspDotNetStorefront 应用程序保留为电子商务后端,并使用 Sitecore 来完成其他所有工作。AspDotNetStorefront 有一个 CMS 作为它的一部分,但它实际上不是一个可接受的解决方案,除了真正的基本内容页面。

关于我如何解决这个问题的任何想法?

编辑:

我决定将整个事情分解为我目前面临的不同问题,并尽我所知有效地解决每个问题。我将详细介绍我在这里拥有的内容,然后在遇到新内容时进行更新。

问题1:两个系统之间的身份验证。

如果您了解表单身份验证票证,这实际上并不算太糟糕,我当时还没有,但学得很快。只要两个系统共享相同的加密信息,就可以很容易地使用 cookie 在它们之间来回传递信息,如下面接受的答案中所述。另一个问题是我需要将 AspDotNetStorefront Customer 表中的 CustomerGUID 设置为 Sitecore 用户表中的用户 ID(标准 ASP.NET 成员资格)。到目前为止,这种方法似乎运作良好(我目前仍处于概念验证阶段。

如果您需要尝试这样做,要记住的另一件事是 AspDotNetStorefront 带有一个Web 服务,您可以使用它来完成您需要的任何事情。由于他们使用相同的加密密钥,我可以使用此服务在店面端登录,而不仅仅是传递明文密码(我必须自己编写该方法,我不相信它是标准的,如果我我错了,请告诉我)。尽管我怀疑这是一笔大买卖,因为无论如何这一切都发生在服务器端。

问题 2:获取产品数据

这个有点麻烦。前面提到的 Web 服务有一些我很难解决的问题。但是,由于数据库将在同一台服务器上,我只是决定,因为我真正需要的只是价格和 ID,我将继续设置 Storefront 数据库中每个产品的 ProductGUID 列以匹配 Sitecore 项目 ID Sitecore 数据库中的相应项目。这样我只需要一个快速查询来获取仅在少数地方使用的 ProductID 和价格信息。其他所有内容都将存放在 Sitecore 中。

如果有人可以随意添加任何内容,据我从 Google 得知,实际上之前没有人这样做过,所以我很难找到关于这个特定主题的资源。

更新:

事实上,集成是可能的,我们的网站已经运行了一个半星期,几乎没有与集成相关的问题。这不是我建议在个人层面上真正做的事情,但事实上它是可以实现的。

4

1 回答 1

1

我知道 ASPDotNetStorefront 和其他 CMS 系统(但不知道 Sitecore)。如果我正在处理这个问题,我可能会从简单开始,为 ASPDNSF 将指向 Sitecore 处理的站点核心“内容”页面创建一个自定义 URL 结构。[可能替换 ASPDNSF 中现有的主题系统]。因此,例如:诸如 www.domain.com/p-1234-aproductpage.aspx 之类的 URL 将由 ASPDNSF 处理,而 www.domain.com/content/123/a-content-page 将被发送到 Sitecore 进行渲染. 这是一个简单的 web.config 编辑。

跨系统的安全共享应该可以在相同的域中共享,因为 cookie 信息将可用(您应该能够使用 ASPDNSFCommon.dll 和 HttpContext.Current.User 转换为 AspDotNetStorefrontPrincipal 类在 Sitecore 中创建一些代码以检测如果客户已登录)

解决该问题的另一种方法是编写一个函数,该函数根据 URL id 从数据库中检索 Sitecore 内容,然后编写一个 ASPDNSF XML 模板以使用该函数根据 URL 检索此内容。例如,您可以在 ASPDNSF 中创建自定义 URL 结构,例如发送到您的自定义代码的 www.domain.com/sc-1234-sitecore-content-item.aspx;1234 用作站点核心内容 ID,XML 模板检索内容并将其呈现在屏幕上。

第二种方法的优势在于将 Sitecore 用于所有非产品内容管理,同时将实时应用程序保留在 ASPDNSF 中。还有一组设计模板和您所有的安全问题。

于 2010-02-16T13:57:03.827 回答