【发布时间】:2015-09-18 13:45:06
【问题描述】:
我们注意到,对于我们网站的一些用户来说,如果他们从外部来源(特别是 Outlook 和 MS Word)跟踪到网站的链接,他们会以这样一种方式到达网站,即用户。 IsAuthenticated 是假的,即使他们仍然在其他选项卡中登录。
经过数小时的诊断,似乎是因为有时单击外部链接时未发送 FormsAuthentication cookie。如果我们在 Fiddler 中进行检查,我们会看到在网站内单击的链接的标题与单击 Word 文档或电子邮件中的链接所产生的标题不同。 cookie 似乎没有任何问题(路径为“/”,没有域,以及未来的到期日期)。
这是正在设置的 cookie:
Set-Cookie: DRYXADMINAUTH2014=<hexdata>; expires=Wed, 01-Jul-2015 23:30:37 GMT; path=/
这是从内部链接发送的请求:
GET http://domain.com/searchresults/media/?sk=creative HTTP/1.1
Host: domain.com
Cookie: Diary_SessionID=r4krwqqhaoqvt1q0vcdzj5md; DRYXADMINAUTH2014=<hexdata>;
这是从外部(Word)链接发送的请求:
GET http://domain.com/searchresults/media/?sk=creative HTTP/1.1
Host: domain.com
Cookie: Diary_SessionID=cpnriieepi4rzdbjtenfpvdb
请注意,第二个请求中缺少 .NET FormsAuthentication 令牌。该问题似乎不受设置为默认浏览器的影响,并且在 Chrome 和 Firefox 中都会发生。
这是正常/预期的行为,还是我们可以解决这个问题?
【问题讨论】:
标签: asp.net cookies forms-authentication