有没有办法以编程方式更改为.NET中的其他会话?

时间:2012-06-15 15:11:45

标签: .net session

我有一个大型.NET站点,我正在尝试从第三方供应商添加一些功能。

我们正在做的一件事是我们重定向到第三方网站,用户输入一些信息,第三方网站处理它,并使用我们需要的一些信息对我们进行程序化回发存储在会话中并在第三方网站重定向回我们后进行访问。

所以基本流程是:

  1. 用户点击按钮,表示他们想要利用此第三方优惠
  2. 我们重定向到第三方网站,并在网址
  3. 中包含会话ID作为查询参数
  4. 第三方网站收集信息并授权用户
  5. 第三方网站以编程方式将用户信息和各种其他信息作为帖子正文中的数据发回。返回的部分信息是会话ID。不返回COOKIE DATA,因此会话ID不在.NET通常期望的cookie中。
  6. 我们在会话中缓存信息并使用HTTP成功或失败(2xx或4xx HTTP响应)以及正文中的一些数据来响应第三方站点
  7. 第三方网站告诉用户所有内容都是A-OK,用户可以点击按钮返回我们的网站。
  8. 够容易......所以我想。但诀窍是第4步。没有cookie =我所在的会话不是用户重定向回到步骤6的会话。

    我们过去通过从返回的数据中获取会话ID并重定向来处理类似的情况,但是对于这个供应商,他们需要2xx或4xx,而不是Redirect将生成的3xx。事实上,回到重定向到程序化的帖子......那是行不通的,不是吗?它不是一个会处理重定向的浏览器,无论哪种方式,我们都不希望用户此时回到我们的网站。

    我做了一些研究,看看是否还有其他任何方式我们可以通过编程方式连接到正确的会话,而且我是空白的。希望有一些我错过的东西。

0 个答案:

没有答案