我试图让我的 ASP.net 应用程序访问 UNC 路径,但是我收到文件被拒绝错误。
如果我在应用程序位于本地计算机上的地方尝试这个,它可以工作,如果我在部署应用程序的浏览器中运行它,它工作正常。
但是,当我尝试从我的机器访问该网站到我的 IIS 框,然后它又访问文件服务器时,我可以访问被拒绝错误。
我已经检查过 ASP.Net 实际上是像我一样冒充我,而且似乎是这样,但仍然存在错误。
我的文件服务器上的所有文件都可以访问“所有人”
有什么想法吗?
我试图让我的 ASP.net 应用程序访问 UNC 路径,但是我收到文件被拒绝错误。
如果我在应用程序位于本地计算机上的地方尝试这个,它可以工作,如果我在部署应用程序的浏览器中运行它,它工作正常。
但是,当我尝试从我的机器访问该网站到我的 IIS 框,然后它又访问文件服务器时,我可以访问被拒绝错误。
我已经检查过 ASP.Net 实际上是像我一样冒充我,而且似乎是这样,但仍然存在错误。
我的文件服务器上的所有文件都可以访问“所有人”
有什么想法吗?
如果我没记错的话,在这种情况下,Web 服务器 (IIS) 正在向不同计算机上的 UNC 共享发出请求,默认情况下它不会将您的身份验证令牌传递给具有 UNC 共享的服务器。您必须信任 IIS 服务器或应用程序池用户才能进行委派以使其正常工作。请参阅这篇关于委派的Technet 文章。
在我们的技术服务团队对此进行调查后,似乎部分原因是 Chrome/FF 没有正确发送 WinAuth,而且IIS Windows Authenication -> Providers
设置是错误的:
应该 :
Negotiaton
NTLM