【问题标题】:Axios NTLM doesn't work on POST (but work with GET)Axios NTLM 不适用于 POST(但适用于 GET)
【发布时间】: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


【解决方案1】:
var_dump($_POST);

检查此代码,可能有帮助!

【讨论】:

  • 好主意,但我怎样才能看到结果?服务器在访问php脚本之前发送401。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-13
  • 2017-01-25
  • 2020-05-26
  • 1970-01-01
  • 2020-03-16
  • 1970-01-01
  • 2020-06-30
相关资源
最近更新 更多