在启用 Windows 身份验证的情况下拒绝访问本地资源

Posted

技术标签:

【中文标题】在启用 Windows 身份验证的情况下拒绝访问本地资源【英文标题】:Access to local resources denied with windows authentication enabled 【发布时间】:2013-11-26 16:55:27 【问题描述】:

我们有一个在 IIS 7.5 上运行的 Web 应用程序(文档管理系统),启用了 Windows 身份验证和 ASP.Net 模拟。当用户请求文档时,文档应该在本地缓存以供查看,但用户不断获取对缓存路径的访问被拒绝,即使 NTFS 赋予他们对目录的完全控制权。

应用程序正在运行一个域用户,该用户是该计算机上的本地管理员,并且模拟设置为模拟经过身份验证的用户。

此外,Windows 身份验证提供程序设置为协商和 NTLM。

任何帮助将不胜感激。谢谢。

【问题讨论】:

您是否尝试过添加 IUSR_ 以访问文件夹/文件? IUSR_ 不存在。但我已经添加了完全控制的 IUSR 和 IIS_IUSRS 【参考方案1】:

事实证明,问题的原因是双跳。第一个跃点发生在用户通过 IIS 服务器的身份验证但当 IIS 尝试访问本地资源(第二个跃点)时,第二个跃点是不允许的,否则开发人员或管理员可能会滥用您的凭据并以用户不使用的方式使用它们没有预料到。

IIS, Windows Authentication and the Double Hop issue

【讨论】:

以上是关于在启用 Windows 身份验证的情况下拒绝访问本地资源的主要内容,如果未能解决你的问题,请参考以下文章

如何在启用基本身份验证的情况下启用对 Web API 中所有来​​源的访问?

尝试通过 oauth 进行身份验证时访问被拒绝

在ASP.NET中是否有一个事件在Windows身份验证日志中失败? (记录Windows身份验证失败的详细信息)

IIS7 表单身份验证不会拒绝图像访问

.Net Core WebAPI CORS 与 Windows 身份验证

我在服务器上的iis上的身份验证选项中去掉了匿名访问,启用了集成windows身份验证