0

我正在阅读这篇关于解决 Azure 应用程序网关会话关联问题的文章,并将其列为可能的原因,它指出“我的应用程序无法处理基于 cookie 的关联”,我如何知道我的 ASP.Net Web 应用程序是否可以处理基于 cookie 的关联或不是?

谢谢,

4

1 回答 1

0

首先,当您在 Azure VM 上托管网站时,您通常会以与本地相同的方式进行处理,这与 Azure App Service VM 不同 - 对于此设置 - 您只需切换开关以启用或禁用 ARR Affinity从 Azure 门户 > 应用程序设置。

请参阅此博客ASP.NET 和 ASP.NET Core 中即将发生的 SameSite Cookie 更改以了解最新更改。

只是为了澄清 - 应用程序网关只能通过使用 cookie 来执行基于会话的亲和性。从您的问题描述中,您已设置“cookieBasedAffinity”:“已启用”,如文档中所述,是否正确?您可以根据您的应用程序需求加以利用。

<httpCookies domain="" httpOnlyCookies="true|false" requireSSL="true|false" />

您不能在 web.config 中添加 cookie,但您可以添加一些自定义部分来访问 cookie。您可以使用 System.Web.HttpCookie.HttpOnly 属性通过代码处理此问题。如本文所述

    myHttpOnlyCookie.HttpOnly = true;
    myHttpOnlyCookie.Name = "MyHttpOnlyCookie";
    Response.AppendCookie(myHttpOnlyCookie);

如您所指的同一文档中所述,您可以查看会话日志以确定客户端提供的 cookie 是否具有 ARRAffinity 详细信息如果您在cookie 集,这意味着客户端没有使用 ARR cookie 进行回复。

关于此主题的其他讨论 -令牌身份验证与 Cookie

于 2020-04-20T19:32:29.797 回答