我编写了一个供公司内部使用的网络应用程序,它在上线的几个月内没有出现任何问题。周五,人们表示他们无法再登录。除了一些 JavaScript 之外,代码中没有任何变化。 Azure 中似乎没有任何变化。
发生的情况是这样的:我完成了输入凭据的正常程序,然后我被重定向到公司的 2FA 内容。一旦我通过了这一点,它就会询问我是否要保持登录状态。从那里,我可以看到地址栏中的 URL 变化了大约 10 次,最后才给出著名的“我们无法让您登录。请重试” ”
顺便说一句,我确保使用 HTTPS 访问 Web 应用程序。 Azure 中设置了匿名登录。我不知道该怎么办。非常感谢任何帮助!
最佳答案
我的老板昨天晚上就弄清楚了。
向system.webServer添加了重写规则
<rewrite>
<outboundRules>
<rule name="Add SameSite" preCondition="No SameSite">
<match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
<action type="Rewrite" value="{R:0}; SameSite=none;" />
<conditions>
</conditions>
</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>
关于使用 Azure AD 的 C# MVC Web 应用程序在失败之前随机开始重定向大约 10 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59994351/