这是在 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>
如果可能的话,我们确实希望避免在这里进行任何编码,而只需进行配置。