Chrome 87 在针对 Windows IIS 10 的 CORS 中的 Windows 身份验证失败

2024-05-23

Chrome 86(及更早版本)、Edge、Curl 和 IE 都能够对 Windows 2019 计算机上的 IIS 10 ASP.NET 服务进行跨域 Windows 身份验证,没有任何问题。

但 Chrome 87 失败,并显示“从源 'http://[DIFFERENT]' 访问 'https://[REDACTED]' 处的 XMLHttpRequest 已被 CORS 策略阻止:不存在 'Access-Control-Allow-Origin' 标头根据要求”

奇怪的是,Chrome 87 可以与在配置相同的 Windows 2008 计算机(不要问)上的 IIS 7.5 中运行的相同 ASP.NET 服务配合使用。

更新:注意 - 我意识到 [2020-12-04]“工作”系统恰好位于不同的域上,该域已添加到我的“始终可以使用 cookie 的站点”列表中。所以“修复”从一开始就在我面前......;)

使用curl - 我看不出Windows 身份验证的IIS 响应之间有任何区别。

如果我破解我的 ASP.NET 并让它在所有请求而不是主要请求中包含回显的 Access-Control-Allow-Origin 'http://[DIFFERENT]' - 那么 Chrome 87 会发出 401 - 未授权 - 而不是继续来回进行 Windows 身份验证。 Curl 和其他浏览器都可以使用附加标头。

直接调用网站(无需跨源)就可以了。

有人知道 Chrome 87 做了什么不同吗?开发工具仅显示链中的“最后一个”请求 - 所以我不知道失败之前发生了什么。

更新:[2020-12-02] 显然,Chromium 团队声称它正在按照需要的方式工作......但对我来说,这似乎很奇怪。

https://bugs.chromium.org/p/chromium/issues/detail?id=1154281 https://bugs.chromium.org/p/chromium/issues/detail?id=1154281

“这是现在的预期行为 - 阻止第三方 cookie 现在的行为就像设置凭据:忽略第三方请求。我们将看看我们收到了多少关于此问题的报告,但之前的行为是有问题的,因为真正未经授权的请求以及那些提供 HTTP 身份验证凭据,但没有 cookie,将共享套接字。”


我们在我们的环境中看到了同样的情况,Chrome 87 现在将 cookie 规则应用于 Kerberos 和 NTLM 身份验证(显然是一个错误)。这不仅影响 XHR,还影响从其他站点加载的任何资源(图像、iframe 等)。

我们设置了“阻止第三方 cookie”,并发现将受影响的网站和域添加到 Chrome 中的“始终可以使用 cookie 的网站”列表中已恢复身份验证;这对我们来说是一个可以接受的解决方法,因为我们通过组策略管理 Chrome,并且可以轻松推出更新的网站列表。

2020年12月2日: 截至今天,MS Edge 87 也表现出相同的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 87 在针对 Windows IIS 10 的 CORS 中的 Windows 身份验证失败 的相关文章

  • SignalR 更新无法在 Chrome 上正常运行

    我创建了一个带有 SignalR 通知的 ASP MVC 4 应用程序 我在本地以调试模式运行它 并通过 IIS 发布在服务器上运行它 使用 Internet Explorer 11 时 这基本上可以正常工作 稍后解释 HTML1300 N
  • Android onChange 事件未在 android 5 (Lollipop) 上的 chrome 历史记录的 contentObserver 中触发

    我注意到我的 chrome 历史记录和书签的 contentObservers 在 android lolipop 上不再触发 该代码在旧版本的 android 上完美运行 无论 chrome 版本如何 但在 Lollipop 上它不再运行
  • 有没有办法使用 ASP.NET 在用户离开页面时始终运行某些服务器端代码?

    我想知道当用户离开 ASP NET 中的页面时是否有任何方法可以始终运行一些服务器端代码 页面卸载事件不好 因为如果有人单击链接 则不会调用该事件 理想情况下 即使用户关闭浏览器 我也希望代码能够运行 我怀疑我所问的问题是不可能的 但问一下
  • 如何终止会话或会话 ID (ASP.NET/C#)

    当用户单击注销按钮时 如何销毁会话 会话 名称 我正在 MSDN 上查看 ASP NET API Reference 它似乎没有太多信息 看来还是比较有限的 但我找不到 ASP NET 类等的任何其他页面 我努力了 Session Aban
  • Asp.net Identity 注销其他用户

    我正在使用 Asp net Identity 来验证用户身份 并尝试从管理端锁定任何用户 但是当我锁定任何在线用户时 它并没有注销 我读过很多关于我的问题的评论 但它们都不起作用 我尝试使用 UserManager UpdateSecuri
  • 使用 JavaScript 禁用第三方 cookie

    我正在努力根据所有在欧盟运营的公司的数据保护规则实施新的 Cookie 政策合规性 根据该规则 用户在使用任何网站时必须能够拒绝 接受除必需的 Cookie 之外的所有内容 在我客户的网站中 我可以看到正在存储以下第三方 cookie ga
  • 优化视图状态

    是否有人对优化 ASP NET 应用程序的视图状态有任何想法或参考可以向我指出 我不想把它全部关闭 优化它的主要目标是提高性能 所以我不想运行一个昂贵的函数来递归地禁用某些控件的视图状态 因为该函数会减慢速度页面的加载时间会达不到目的 有任
  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • Asp.net MVC 路由 - 防止通过约束路由到 XML 文件

    我正在尝试找到一种方法来阻止用户访问特定的 xml 文件 我尝试过做 routes MapRoute SiteMap SiteMap siteMap xml new new isLocal new LocalHostRouteConstra
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 收到“路径‘OPTIONS’被禁止”。 ASP.NET网站异常

    我收到错误System Web HttpException Path OPTIONS is forbidden 自从我们将网站转移到新的服务器设置以来 我无法重新创建该错误 但我每天至少会收到几次有关此异常的电子邮件 有什么想法可能导致此问
  • 更改所选控件的输入语言

    我的应用程序中有一个文本区域 我想以编程方式单独设置文本区域的输入语言 而不影响其他控件 不幸的是 您的程序无法完成此操作 用户需要使用 Unicode 键盘或输入法编辑器 IME 由于您使用的是 C Net 平台 因此您的程序已经能够处理
  • Chrome 扩展程序中后台页面和弹出页面之间的通信

    我目前正在尝试为 Google Chrome 编写一个扩展 可用于上传文件 有两个页面 后台页面和弹出页面 单击多功能栏右侧的图标时会出现弹出页面 您可以使用标准 HTML 指定要上传的文件
  • global.asax 范围和生命周期澄清

    我需要在我当前正在进行的项目中实现多个应用程序级行为 有几件事我需要弄清楚 1 在哪里以及如何定义应用程序级变量 2 这些变量的生命周期是多长 或者更准确地说 在什么情况下它们会被丢弃 应用程序池回收 应用程序二进制文件从内存中删除并在下一
  • 控制台未打开时无法加载资源:net::ERR_EMPTY_RESPONSE

    我正进入 状态 Failed to load resource net ERR EMPTY RESPONSE 如果控制台未打开 我的 api 调用会出错 然而如果控制台打开 则 api 调用工作正常 前端使用 Angular2 后端使用 N
  • $(window).resize() 和打印预览模式

    我有一段非常简单的代码 可以在调整大小后刷新窗口 window resize function location reload 当我尝试在 Chrome 中打开打印预览模式 Ctrl P 时 它也会刷新它 有什么想法如何避免这种行为吗 要确
  • Chrome 支持 Brotli 吗? (Accept-Encoding不包含br)

    Can I use page http caniuse com search brotli说 Chrome 支持 brotli 一段时间了 我认为Accept Encoding字符串会是这样的 Accept Encoding gzip de
  • ASP.NET MVC:我什么时候应该创建自定义视图引擎

    我知道什么View Engine是 我更喜欢使用Razor视图引擎只是因为它的语法简单ASPX引擎 内置视图引擎为您执行几乎所有任务 那么在什么情况下我应该创建自己的视图引擎 我用谷歌搜索了它 但得到了如何创建它的答案 而不是何时以及为什么
  • 混合 ASP.NET WebForms 和 MVC 授权

    我正在尝试将一些 MVC3 功能混合到现有的 WebForms 应用程序中 我遵循了一些指南 除了授权部分之外 一切都已设置完毕并正常工作 现有的应用程序有

随机推荐