Я строю страницу платежа в asp.net, однако страница, где вы заказываете свои объекты, запускается в HTTP (незащищенном) в моем домене.Поддержание сеанса через ретрансляционный домен?
При перенаправлении пользователя на сайте оплаты, я должен пройти через другой домен (мой платеж провайдера, от которого я одолжить сертификат SSL), так что мой платеж URL заканчивается как https://www.paymentprovider.com/somescript.cgi/www.mydomain.com/mypaymentpage.aspx
Теперь проблема моя сессия потеряна, но я храню заказ в сеансе, поэтому мне отчаянно нужно это.
Могу ли я как-то отправить SessionID в querystring и восстановить сеанс из него - или мне нужно заполнить весь порядок в querystring? (Не слишком уверен, что это будет соответствовать, хотя, это довольно долго)
Любая помощь будет высоко оценен :-)
Проблема в том, что заказ не хранится в базе данных, но я думаю, что мне нужно его изменить, поэтому я могу использовать подход OrderID. Спасибо за комментарий. – Steffen
@Steffen Да, вы абсолютно должны исправить способ хранения уникального идентификатора orderID, даже если заказ оставлен открытым - и каждый новый заказ должен получить новый уникальный идентификатор orderID, и именно это вы передаете с этим заказом в каждом состоянии на ваших страницах. – Aristos
Теперь у меня это работает. Я создаю каждый заказ в базе данных и использую guid для моего запроса при переходе между доменами. Я использую руководство, чтобы люди не могли просто изобразить в 1,2,3 и т. Д., Чтобы посмотреть заказы других людей. Я понимаю, что это не идеально, но когда я застрял с querystring, это в значительной степени лучшее, что я могу получить. Еще раз спасибо за ваш совет :-) – Steffen