我们正在构建一个coldfusion电子商务解决方案(为购物车解决方案提供商)。系统使用客户端变量。用户注册,登录和购物车功能将在客户端域(例如: abc.com,这是一个非安全套接层),用户应该被转移到我们的eshop域(这是完全不同的域,在安全套接层,例如:https://www.xyz.com)结账期间。在这种情况下,我应该如何处理客户端变量?当用户从to abc.com重定向到xyz.com时,我不应该丢失任何设置( client.userid、client.cart和其他变量)。对于已登录的用户,购物车项目将存储在表'CartTemp‘中。对于选择“无需创建帐户即可结账”的客户,购物车项目将存储在结构client.Cart中。
发布于 2010-02-02 02:42:55
您将客户端变量存储在哪里?如果在数据库中,则可以通过将用户的CFID和CFTOKEN值传递到eshop的链接中进行操作。(然后,当CF查找与这些标识符对应的客户端变量时,它将找到以前由客户端域的代码存储的记录。)但是,这需要两个站点使用相同的客户机变量数据库,这对您来说可能可行,也可能不可行。
但是,如果您使用cookie或(天哪,帮助您)注册表存储客户端变量,则需要想出一些其他机制来传输此信息。(例如,您可以将所有信息打包到一个WDDX字符串中,为此将其存储到数据库表中,将链接中的记录ID传递给商店,并将商店的代码解包到WDDX。)
发布于 2010-02-03 06:24:16
我不会依赖CFID和CFTOKEN。相反,当用户想要处理他们的订单时,您可以在abc.com上创建一个UUID购物车id,然后使用购物车id重定向到xyz.com。
共享数据的最简单方法是使用共享的中央数据库,但是如果由于某种原因不能这样做,您可以将abc.com设置为在xyz.com查询时返回一个XML数据集,如下所示:
的商店
发布于 2010-02-03 22:50:42
谢谢大家。我们使用数据库作为客户端存储。UUID似乎更可靠,对登录的客户很有用;但是,CFID和CFTOKEN可能会在客户选择“不创建帐户而结帐”选项的情况下有所帮助。在这两种情况下,您认为哪一个是最好的解决方案?请查看下面的两个场景。
“对于已登录的用户,购物车项目将存储在'CartTemp‘表中。对于选择’无需创建帐户即可结帐‘的客户,购物车项目将存储在结构client.Cart中。”
https://stackoverflow.com/questions/2178800
复制相似问题