我已经在IIS中尝试过相同的cookie。但没那么走运。如何在IIS中使用执行此操作?顺便说一句,我使用的是windows server 2012 R2。
配置:
<sessionState timeout="60" cookieSameSite="None" />
<httpCookies sameSite="None"/>发布于 2020-02-06 12:05:42
这通常是在应用程序的启动和初始化过程中管理的。
在IIS而不是您的应用程序中执行此操作的一种方法是添加出站重写规则,以便将SameSite=None追加到响应中发送的cookies。
示例Web.config
<system.webServer>
<rewrite>
<outboundRules>
<clear />
<rule name="Add SameSite" preCondition="No SameSite">
<match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
<action type="Rewrite" value="{R:0}; SameSite=None" />
</rule>
<preConditions>
<preCondition name="No SameSite">
<add input="{RESPONSE_Set_Cookie}" pattern="." />
<add input="{RESPONSE_Set_Cookie}" pattern="; SameSite=None" negate="true" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
</system.webServer>发布于 2020-01-23 13:11:13
根据MSFT文档:
知识库文章4531182和知识库文章4524421中描述的更新修改了None的行为。
如果没有这些更新,None值将不会发出SameSite cookie标头
我建议你首先安装知识库文章4531182和知识库文章4524421更新,然后它就会工作得很好。
更多细节,你可以参考下面的文章:
https://docs.microsoft.com/en-us/dotnet/api/system.web.samesitemode?view=netframework-4.8#remarks
https://stackoverflow.com/questions/59858471
复制相似问题