在本周末的补丁周期之后,我们的CMS搜索不再可用。当我们通过开发人员工具查询Chrome(其他浏览器会返回搜索结果)时,我们会看到这些Cookie被标记为有问题...但是由于Secure设置为true,并且对问题的描述没有意义SameSite设置为“无”。
很难知道在这里做什么。我认为让Chrome认识到这些Cookie的配置正确可以解决我们的问题-但我似乎无法弄清楚问题出在哪里?
在我们的web.config中(CMS搜索一直进行到周日):
<compilation debug="false" targetFramework="4.8">
<httpCookies httpOnlyCookies="true" requireSSL="true" sameSite="None"/>
<sessionState cookieSameSite="None" mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>
这是我们认为在周日安装的KB,导致CMS搜索停止工作: https://support.microsoft.com/en-us/help/4576486/kb4576486
谢谢。
答案 0 :(得分:0)
您可以尝试使用以下iis URL重写规则:
<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; Secure" />
</rule>
<preConditions>
<preCondition name="No SameSite">
<add input="{RESPONSE_Set_Cookie}" pattern="." />
<add input="{RESPONSE_Set_Cookie}" pattern="; SameSite=None; Secure" negate="true" />
</preCondition>
</preConditions>
</outboundRules>
参考链接:
https://docs.microsoft.com/en-us/aspnet/samesite/system-web-samesite
https://docs.microsoft.com/en-us/aspnet/core/security/samesite?view=aspnetcore-3.1