配置 IIS 10 ASP.NET MVC 应用以仅允许特定域用户访问“/api/”URL

配置 IIS 10 ASP.NET MVC 应用以仅允许特定域用户访问“/api/”URL

这是在 Windows Server 2019 上,Web 应用程序是 ASP.NET MVC 应用程序(.NET FW 4.6)

我不确定如何调试它。

  • AppPool 在托管服务帐户下运行!(这并不能帮助使用 AppPoolIdentity :-|)
  • 我已启用/安装了 Windows 和 URL 身份验证(其他均已禁用)
  • 当我添加以下内容时,我可以访问所有其他 URL,但不能访问 API URL
  • 服务器和客户端位于同一个域 (MYDOMAIN)
  • 从任何 Web 浏览器获取相同的响应(我们让 Windows 身份验证在同一个浏览器的另一台服务器上的 ASP.NET Core 上运行,但这针对的是整个网站,而不仅仅是其中的一部分)
  • 使用 NTLM 提供程序,内核模式和扩展保护已关闭

配置如下:

  <location path="API">
    <system.web>
      <authorization>
        <allow users="MYDOMAIN\username" />
        <deny users="*" />
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

该应用程序有自己的登录(表格),但我需要使用 Windows 登录来限制 API 访问:

<authentication mode="Windows">
  <forms loginUrl="~/Account/Login" timeout="180" slidingExpiration="true" />
</authentication>

如果可能的话,我们确实希望避免在这里进行任何编码,而只需进行配置。

相关内容