我在asp.net中构建了一个付款页面,但是您订购物品的页面在我的域中以HTTP(非安全)方式运行。跨中继域维护会话?
当将用户重定向到支付网站,我必须要经过不同的域(我的支付服务提供商,从他们那里我借用SSL证书),所以我的付款网址结束了像https://www.paymentprovider.com/somescript.cgi/www.mydomain.com/mypaymentpage.aspx
现在的问题是我的会话丢失了,但我在会话中存储了订单,所以我非常需要它。
我可以以某种方式发送查询字符串中的SessionID,并从它恢复会话 - 或者我需要将整个订单填入查询字符串? (不太肯定它会适应不过,这是相当长)
任何帮助将不胜感激:-)
问题是订单没有存储在数据库中,但我想我必须改变它,所以我可以使用OrderID方法。感谢您的评论。 – Steffen 2010-04-18 14:01:23
@Steffen是的,您绝对必须确定一种方法来存储唯一的订单ID,即使订单保持打开状态 - 每个新订单都必须获得一个新的唯一订单ID,这就是您在页面上的每个状态下传递的顺序。 – Aristos 2010-04-18 14:36:09
我已经得到它现在运行。我创建数据库中的每一个订单,并在域之间传递时使用我的querystring的guid。 我使用一个guid,所以人们不能只在1,2,3等情况下查看其他人的订单。 我意识到这并不完美,但是当我被查询字符串卡住时,它几乎是我能得到的最好的。 再次感谢您的建议:-) – Steffen 2010-04-18 19:39:44