我有一个简单的应用程序,可以对一些 FTP 站点和网络共享文件夹进行一些文件改组。我的 web.config 是这样的:
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Windows" />
<customErrors mode="Off" />
</system.web>
<system.webServer>
<security>
<authorization>
<add accessType="Deny" users="?" />
</authorization>
</security>
</system.webServer>
Windows 身份验证似乎工作正常,因为我的页面在我访问时显示我的域\帐户名。但是,无论我是否已将“所有人”组添加到具有完全访问权限的目标文件夹中,我仍然会收到此错误:
System.UnauthorizedAccessException : Access to the path is denied
我的网站在 IIS 7.5 上运行,并拥有自己的应用程序池。当我在 ApplicationPoolIdentity 下运行池时,Windows 身份验证不起作用,即使我的域\帐户正确,它也会无休止地提示我输入密码。如果我将身份切换到 NetworkService,Windows 身份验证可以无缝工作,但我仍然不能由于访问路径被拒绝错误,写入我的网络文件夹。
我已经在这里和其他地方阅读了各种各样的东西,但我还没有找到一个有效的解决方案。我知道我自己在 ASP.NET 和 IIS 安全方面的局限性,所以我完全希望我犯了一些错误,但没有具有这些技能的现场同行可以咨询。
任何关于从哪里开始理解安全模型的建议,因为它涉及在一台机器上获取一个能够写入另一台机器上的共享网络文件夹的网站,我们将不胜感激。