我正在创建一个使用 React 构建的应用程序,其中 API 请求将从http://localhost:3000发送到位于https://localhost:5000的 .NET 服务器。这在禁用 Windows 身份验证时有效,但当使用 IIS 启用 Windows 身份验证时,任何请求都会返回 401 未授权。
我做了很多研究,发现我可以通过发送带有 { withCredentials: true } 的 axios 请求来很好地发送 GET 请求。如果我发送一个 POST 请求,这仍然会从服务器返回 401 未经授权,除非我根据这些规范将内容类型设置为 application/x-www-form-urlencoded 来使请求成为“简单请求”:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS。
当启用 Windows 身份验证时,我需要在 Web 配置中添加什么内容才能使这些请求正常工作吗?
此处对类似问题的回答对我没有帮助:Angular 5: Post-request & windows authentication,因为同时启用了匿名和 Windows 身份验证,将导致对服务器的初始 GET 请求,无法获得 Active目录用户名,使用 Windows 身份验证,因为看起来匿名身份验证优先。
我可以将内容类型设置为 application/x-www-form-urlencoded 来发出 POST 请求,但这似乎是错误的做法。有什么方法可以在服务器上设置一些设置,以便在启用 Windows 身份验证时,位于https://localhost:5000的服务器将接受来自http://localhost:3000且内容类型为 JSON 的任何 API 请求?