我正在使用.net 4.5.2框架,并添加了以下代码以为ASP.NET_SessionId cookie分配SameSite = None。
<rewrite>
<outboundRules>
<rule name="AddSameSiteCookieFlag">
<match serverVariable="RESPONSE_Set-Cookie" pattern="^(.*)(ASP.NET_SessionId)(=.*)$" />
<action type="Rewrite" value="{R:0};SameSite=None;" />
</rule>
</outboundRules>
</rewrite>
响应标题: 设置Cookie:ASP.NET_SessionId = XXXXXXXXXXXXX;路径= /; HttpOnly; SameSite = Lax; SameSite = None;
答案 0 :(得分:0)
似乎您只是将SameSite=None
附加到Set-Cookie
标头。这不是您想要的。您代码中的某些内容已经在Cookie上设置了SameSite=Lax
。
删除此内容并测试您的应用程序。除非您的站点始终在跨站点上下文(例如,独立站点中的iframe)中运行,否则不太可能需要SameSite=None
作为会话cookie。
如果您确实需要SameSite=None
,则可以:
Lax
的位置并将其更改为None
SameSite=None
。 注意:如果您确实需要SameSite=None
,则还必须设置Secure
。
有关详细信息,请参见:https://web.dev/samesite-cookie-recipes/。