【发布时间】:2021-09-08 15:54:03
【问题描述】:
我需要在我的 React 应用上自动登录。为此,我使用 NTLM 身份验证。 API(php 编码)和 React App 都在 IIS 服务器上。 我使用 axios 进行 API 调用。当我执行 GET 请求时,一切正常,凭据已成功发送(但我必须在 IIS 上禁用匿名登录)。 当我使用 POST 查询时,它会失败并出现 401 错误。
我尝试了几个标题,但没有任何效果。这就是我需要帮助的原因。 Image : Nothing weird in headers
当我执行 GET 时,我看到发送的 cookie,而不是我的帖子查询
axios.post(apiUrl+'deleteUserReportFolder.php', {
reportFolder: e.target.value,
id: user.login
},{
withCredentials: true,
credentials: 'include',
headers: {
'Content-Type': "application/json",
'Authorization': 'NTLM',
'WWW-Authenticate': 'NTLM'
}
})
API 站点正在发送这些 HTTP 响应标头: Image : IIS API 谢谢你的帮助。我看过很多帖子,但没有任何效果。
编辑: 我尝试通过使用匿名和 Windows 登录设置我的服务器(API PHP),匿名登录导致没有登录用户,所以我必须只设置 Windows 启用。 我尝试在 axios 查询中删除除“withCredentials”之外的所有标题。我在 CORS Pre Flight 上仍有 401 错误。
【问题讨论】:
-
stackoverflow.com/questions/18666651看这个问题的回复,你也有类似的疑问
-
此解决方案不适用于此处,我没有密码。我不使用基本身份验证,我使用 NTLM(我想使用 windows 登录)。
-
您可以尝试使用失败请求跟踪来查看详细的错误信息。
-
@samwu 我看到与 Chrome 相同的标题。没有授权线。我看到“身份验证:不可用”
-
这应该是cors的问题,可以参考这个答案:https://stackoverflow.com/a/43881141/13336642。
标签: reactjs post iis axios http-status-code-401