我敲开了一个简单的 Web 应用程序,它列出了特定文件夹中的所有文件或特定类型,并将它们呈现为 ListView 控件中的一系列 LinkButtons - 当用户单击 LinkButton 时,相关文件将流式传输给用户. 我已经在 ASP Classic 中这样做了十几次,但这是一个新的 ASP.NET 版本。
当我在我的开发机器上运行它时,它运行良好 - 但现在我已经将它设置在我遇到问题的实时服务器上:
“拒绝访问 'X:\mydir\'。无法开始监视文件更改”
该应用程序(当前)配置为使用匿名身份验证,但最终它将使用 Windows 身份验证。
查看权限情况后,我可以确认 ASPNET 用户和 IUSR_ServerName 用户对应用程序的父级(以及下面的所有内容)具有权限。
主机服务器是 Windows Server 2003 R2。
有任何想法吗?
我已经设法解决了这个问题——尽管考虑到我所做的所有修补,很难确定哪些步骤构成了修复。
问题似乎是由于网络服务(默认应用程序池中使用的身份)对文件夹层次结构中的每个级别没有足够的权限。
我只是为帐户授予驱动器上顶级文件夹的读取和执行权限,这些权限沿文件夹树、应用程序目录及其他目录继承。
在 Windows Server 2012 上,我需要为 \Users 添加文件夹权限
授予的权限是: