Cookie没有使用Ajax请求发送

时间:2012-12-11 07:27:26

标签: cookies azure forms-authentication cloud

发现问题表单身份验证Cookie不在服务请求之间共享。

Cookie'.ASPXAUTH'生成并从登录服务成功发送到浏览器,但不会将Cookie发送到对相同服务的后续请求。

发现当使用HTTP 1.1从Cloud app调用服务时,对于Response,它是HTTP 1.0

与Fiddler和其他工具的用户进行更多观察:

在下列情况下正常工作:

  1. 从本地开发系统运行服务和客户端网站
  2. 在同一IIS(本地和远程)上托管服务和客户端
  3. 根据网址进行访问,正确传输Cookie
  4. 不适用于以下情况:

    1. 在不同的IIS服务器中托管服务和客户端。
    2. 在IIS(或Azure)中托管服务,从本地开发系统托管客户端
    3. 更多细节: 两个请求都针对相同的服务,即相同的域,相同的protocal,相同的端口nr等。

      更新于2012年12月12日15:14:

      1. 正如我之前所说的登录功能正在进行Ajax调用,Fiddler在响应时显示Set-Cookie,但浏览器没有读取Cookie。

      2. 试图在$ .Ajax()的“complete:”事件中阅读document.cookies,我无法读取cookie。意味着浏览器没有获取或持有cookie(Fiddler在响应时显示)

      3. 此致 拉玛克里希

1 个答案:

答案 0 :(得分:0)

使用Forms Auth,您是否已执行一些操作以使ASP.NET会话退出进程并退出服务器?

您无法在服务器之间共享会话,因此您必须使用SQL会话状态提供程序并将会话放入SQL Azure,或使用Windows Azure缓存并提供会话状态提供程序将会话存储到缓存中。

我确信你擅长使用互联网搜索引擎,但这里有一篇好文章列表(让会话退出流程):