有没有人尝试过集成 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 得知,实际上之前没有人这样做过,所以我很难找到关于这个特定主题的资源。
更新:
事实上,集成是可能的,我们的网站已经运行了一个半星期,几乎没有与集成相关的问题。这不是我建议在个人层面上真正做的事情,但事实上它是可以实现的。