【发布时间】:2010-01-23 21:24:48
【问题描述】:
我有一个使用基于 cookie 的身份验证与 ASP.NET Web 服务通信的客户端应用程序。 (客户端调用一个登录方法,该方法设置一个持久性 cookie,然后在登录会话中的请求之间重复使用)。
这已经有一段时间了,但我已经开始从新客户端使用的几台机器上收到错误报告,这些报告似乎表明 cookie 尚未成功往返。 (登录请求都是成功的,但所有后续请求都失败,并 302 重定向到登录资源)
我正在使用一个 CookieContainer,我手动将其附加到我使用的每个 HttpWebRequest,以确保在每个请求中都保留 cookie。
这些机器上是否有一些“安全”软件正在拦截/阻止 cookie 传输? (我 am 使用 SSL)。如果是这样,有什么可以做的来判断是什么阻碍了?
【问题讨论】:
-
您确定将 same
CookieContainerinstance 附加到每个 HttpWebRequest 吗? “我用来确保在每个请求中都保留 cookie”是什么意思?你如何确保这一点? -
你能嗅出与 fiddler 的通信吗?
-
是的,我使用的是同一个容器……它在 99% 的连接机器上运行良好,只有少数根本无法运行。 (这句话意味着我将相同的 cookiecontainer 附加到每个 Web 请求,以便各个请求共享同一组 cookie。
-
@Rubens,我无法在这些机器上轻松获得 fiddler 或其他跟踪工具,因为它们不在现场。我在应用程序中添加了一些额外的日志记录,希望能隔离问题。我曾尝试使用本地机器进行复制,但无法这样做。我想我的主要问题是“安全”软件是否有可能以这种方式干扰我的应用程序(特别是因为 SSL 应该保护传输中的数据)。
标签: c# cookies httpwebrequest