asp.net - 在条件 GET 请求中删除 Cookie

标签 asp.net azure cookies fiddler sitefinity

最近我们在 Azure 上托管的网站遇到了一个奇怪的问题。用户登录后,立即进行未认证,当用户点击任意链接进入其他页面时,会因未认证而被重定向到登录页面。它不会一直发生,但后果很严重,因为我们甚至不知道它什么时候发生,没有异常记录,只是突然失去了身份验证 昨天我在生产中遇到了这个问题,并使用Fiddler捕获了我被踢出期间的请求序列,并发现了一些异常:

Fiddler captured

我登录/my-quizzes后登陆的页面(绿色)。当我单击链接转到不同页面(“/group”链接,绿色)时,我被重定向到登录页面。在我对/my-quizzes 和/group 的请求之间,还有一些其他对 javascript、图像等的请求。奇怪的是在突出显示的“uncheckCheckBox.png”请求中,在响应中,身份验证 cookie (.SFAUTH- XXX) 和其他一些 cookie 被删除(设置为空字符串,到期日期 = 12/10/1999)。这就是后续对/group 页面的请求未经过身份验证的原因

我们的网站使用 ASP.NET MVC 构建在 Sitefinity 之上

我的问题是:

  • 在这样的图像请求中删除 cookie 正常吗?这只是一个有条件的 GET 来检查图像是否被修改,这对我来说很不寻常。但我无法解释为什么会发生
  • 对于如何调试 Cookie 删除问题有什么建议吗?

最佳答案

您的网站运行在多少个 Azure 实例上? 如果不止一个 - 您是否配置了 Sitefinity 负载平衡模块?

当您单击/Group 页面链接时,请求可能会转到您未经过身份验证的另一个 Azure 实例(例如,由于 LB 配置错误)。

您的应用程序池是否定期回收?这也可能是另一个原因。

关于asp.net - 在条件 GET 请求中删除 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24566363/

相关文章:

Azure Blob 存储/NodeJS - 从缓冲区读取 Avro 文件

cookies - 互联网广告商如何使用第三方 Cookie?

C#如何: define a long string with linebreaks?

c# - 如何在 .core mvc 中获取用户及其角色表?

sql-server - 与 Entity Framework 和 transient 故障处理 block 的连接?

c# - Azure DocumentDB 十进制截断

javascript - Set-Cookie 被阻止,因为它的 Domain 属性对于当前主机 url 无效

jquery - 带有域字段的 CORS cookie 仅在 Firefox 中使用 jQuery AJAX 设置

C# HTTP Post代码导致工作进程挂起

c# - Internet 日历文件 "abc.ics"不包含任何约会