SameSite Cookie IIS

时间:2020-01-22 11:16:36

标签: iis

我在IIS中尝试了相同站点的cookie。但是没有运气。如何在IIS中使用它?顺便说一句,我正在使用Windows Server 2012 R2。

config:

<sessionState timeout="60" cookieSameSite="None" />
<httpCookies sameSite="None"/>

2 个答案:

答案 0 :(得分:2)

通常在应用程序的启动和初始化过程中对其进行管理。

在IIS中而不是您的应用程序中执行此操作的一种方法是添加出站重写规则,以将SameSite=None附加到响应中发送的cookie。

示例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>

答案 1 :(得分:0)

根据MSFT文档:

“无”的行为已通过知识库文章4531182和知识库文章4524421中所述的更新进行了修改。

如果没有这些更新,则None值不会发出SameSite cookie标头

我建议您首先安装知识库文章4531182和知识库文章4524421,然后才能正常运行。

更多详细信息,您可以参考以下文章:

https://docs.microsoft.com/en-us/dotnet/api/system.web.samesitemode?view=netframework-4.8#remarks