【问题标题】:Authentication cookie expiration身份验证 cookie 过期
【发布时间】:2012-01-30 07:49:39
【问题描述】:

我有两个运行网站(服务器 1 和服务器 2)的 asp.net mvc。这些站点下的文件都是一样的。手动镜像。

问题:

在Server1上,创建asp.net authentication ticket后,cookie会在一段时间后自动过期。但在另一台服务器(Server2)上仍然存在 cookie。

IIS 6.0 上的 ASP.NET MVC 平台。它们在同一台服务器上,但 IP 不同

服务器 1:http://www.seniseviyorum.com/WebForm1.aspx 服务器2:http://www.snsvyrm.com/WebForm1.aspx

有什么想法吗?

GET /WebForm1.aspx HTTP/1.1
Host: www.seniseviyorum.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Referer: http://www.seniseviyorum.com/WebForm1.aspx
Cookie: .SSAUTHSS=83E0F44BB68931FACD95B3F64FF2073738C629A0EEFE9D89657E8C457E54888584248D3CE0AF000C90C0E59A073D5BA4DC12C12F930EFF8CF9C712F413825A814ABE278702C0943D70C1771543487CC7E075990D8795B904194799D0E3E1349A6F6518350395A91F7E100C574D03CB136E4C9FAD52C8CE1F37F95AB0014A75B9E0F7C875910126E4B0A1C51F1058C08E; __utma=88980377.776610536.1325205796.1325205796.1325205796.1; __utmc=88980377; __utmz=88980377.1325205796.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
Cache-Control: max-age=0

GET /WebForm1.aspx HTTP/1.1
Host: www.snsvyrm.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Referer: http://www.snsvyrm.com/WebForm1.aspx
Cookie: .SSAUTHSS=182C451AC2F9E07E25EBDC5CFDE50BDD04C39C045FD86A9868283198C3401AACAB8D52B026380109E162C82266D221FB52EFFA09B08D643086D3C9D7B3DC8D273B69F97A1C0899A5935492BCDCF2CA7723F8E9E470F3D9D72613787D3C2701B0F51CFCAB77BB7A729A2171739BD6A547BA95026CF3E9B2E5593024B57E80C8DF15760EB5CB5A459F547025F862C5C3FB; __utma=92513119.1344156904.1325205837.1325205837.1325208669.2; __utmc=92513119; __utmz=92513119.1325205837.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
Cache-Control: max-age=0

【问题讨论】:

  • 你能发布每个服务器的响应头吗(使用 Firebug 或类似的)?我当前的机器上没有安装它。
  • 这似乎是一个显而易见的问题,但您是否使用同一个浏览器访问两个 IP?
  • James,响应标头相同。我把请求头
  • 两个应用是否属于同一个AppPool? (很抱歉有一段时间没有开发 Web 了)
  • 您希望两台服务器的 cookie 相同吗?然后阅读epignosisx的答案。还是服务器 2 上的 cookie 永远不会超时的问题?

标签: c# asp.net-mvc cookies forms-authentication


【解决方案1】:

身份验证令牌使用 cookie 在服务器和浏览器之间来回发送。由于每个网站使用不同的域,因此每个网站都有自己的身份验证 cookie。他们不会共享同一个cookie。因此,其中一个在一定时间后过期而没有向服务器发出 http 请求是完全正常的。

【讨论】:

  • 我想是的。也许我误解了:\
  • 我也可能有误解,但我读起来好像他们期望来自一个域的 cookie 在另一个域中有效。无论如何,它并没有在问题的任何地方这么说。如果我误解了,那么这是一个很好的答案!
  • 我不希望分享 cookie :)
猜你喜欢
  • 2018-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-03
  • 2020-02-02
  • 2019-04-19
相关资源
最近更新 更多