AzureWebsites cookie问题影响登录



对于同一订阅中的三个Azure网站发生了什么,我有点困惑。

我有

  • 网站1(通过x.azurewebsites.net)
  • website1阶段(通过x-stage.azurewebsites.net)
  • 网站2(通过CNAME www.foo.com)

如果我登录到网站1(SimpleMembership),它会设置一个cookie:.ASPXAUTH

如果我登录到网站1阶段(SimpleMembership),它会设置一个不同值的cookie:.ASPXAUTH

如果我去网站2,它会从网站1中删除.ASPXAUTH cookie,但不会从网站1阶段删除!

怎么回事?我需要停止这种情况,因为如果用户访问网站2 ,他们就无法登录网站1

所有三个网站都有相同的ARRAfinity cookie,如果这有任何相关性的话?

我想他们都共享azurewebsites.net域,甚至通过CNAME?(我不知道是这样,但我想一定是这样,一个域如何影响另一个域的cookie?)

编辑:因为x-stage.azurewebsites.net(与x.azurewebsites.net相同)没有受到影响,我认为Azure是问题所在,但为了彻底起见,我正在探索一些选项(正在进行):

  • www.foo.com/simple.html不会从网站删除cookie 1
  • www.foo.com/blank.chtml不会从网站删除cookie 1

从这里开始,我一次添加一个www.foo.com/的元素,因为这个页面确实会导致cookie丢失。这很有意义!

  • www.foo.com/added-javascript.cshtml不会从网站1中删除cookie

下一个测试:数据库访问和响应(今晚需要新的部署…)

我从非常简单的html开始,然后是.cshml。添加现有的页面功能,直到在www.foo.com上加载页面时,cookie被删除/强制从x.azurewebsites.net 进行新登录

违规代码似乎是这个块:

<li class="facebook">
    <a target="_blank" title="Join us on Facebook" href="https://www.facebook.com/pages/xxxx/yyy?ref=hl#!/zzz?fref=ts">Join us on Facebook</a>
</li>

奇怪的是,脸书img也不可见

ul.social li.facebook {
    background: url("../images/Facebook.png") no-repeat scroll left top rgba(0, 0, 0, 0);
}

即使在VisualStudio中,facebook.png的图像预览也不可见,而它旁边的twitter图标也很好。我以为它可能被破坏了,但事实并非如此。

VS搜索(完整解决方案)在任何地方都没有发现"facebook"的其他用法,但如果我将类名更改为.fb,将图像更改为fb.png,则会显示图像,并且不再存在任何cookie问题。

真奇怪!这个问题是跨浏览器的(IE Edge和Chrome),也发生在其他机器上,所以我仍然很困惑,但至少我已经克服了这个问题。这可能只是Facebook的阴谋:)

编辑:经过进一步挖掘,最终找到了真正的罪魁祸首:

<rules>
   <rule name="BookingRedirect">
     <match url="Book" />
     <action type="Redirect" url="https://xyz.azurewebsites.net/abc" />
</rule>

最新更新