【问题标题】:Windows authentication for ASP.NET API and nodejs websiteASP.NET API 和 nodejs 网站的 Windows 身份验证
【发布时间】:2019-03-30 10:23:22
【问题描述】:

我有一个托管在 nodejs 上的网站,使用 http-proxy-middleware 我将所有 api 调用代理到 ​​ASP.NET API。

我将 ASP.NET api 部署在远程 IIS 服务器上(不是在我的计算机上,而是在域中),仅使用 NTLM 进行 Windows 身份验证,我在 web.config 中有这个:

<system.web>
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
    <authentication mode="Windows" /> 
</system.web>

当我在本地 IIS 服务器(在我的计算机上)上设置我的网站并将其身份验证设置为匿名时,这可以正常工作,没有登录弹出窗口。

使用 NTLM 身份验证从邮递员调用 api 也可以正常工作。

但是,当我将网站部署到远程 IIS 服务器时,我可以毫无问题地打开网站,但是当网站查询 API 时,我得到一个不接受我的凭据 (mydomain\myusername) 的登录弹出窗口,而是显示在 chrome 中一次又一次地弹出,但在 IE 中尝试 3 次后停止并返回 401 未经授权的错误。

因为这可以在本地工作,所以我认为问题一定出在 IIS 服务器的某个地方,但我无法弄清楚它是什么。

【问题讨论】:

    标签: c# asp.net node.js iis-8.5 iisnode


    【解决方案1】:

    IIS 服务器出现问题,在尝试解决该问题时,我经常在匿名和 Windows 身份验证之间切换,但更改不起作用,除非我之后通过在命令控制台中写入 iisreset /noforce 重新启动 IIS

    通过在远程 IIS 上执行此操作,它就像在我的本地 IIS 上一样工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-29
      • 2019-04-28
      • 1970-01-01
      相关资源
      最近更新 更多