2

我用我的代码隐藏调用这个函数:
DeleteFile(Server.MapPath("/") + "sitemap_index.xml")

Public Shared Function DeleteFile(ByVal filename As String) As Boolean
'deletes file from server
Dim bResult As Boolean = False
Try
    If File.Exists(filename) Then
        'delete file
        File.Delete(filename)
        bResult = True
    Else
        bResult = True
    End If
Catch ex As Exception

End Try
Return bResult
End Function

然后我收到错误消息:拒绝访问路径“E:\zz\wwwroot\sitemap_index.xml”。

在我自己的其他网站上,这种逻辑效果很好,但在当前网站上却不行。我检查了我的 windows server 2008 R2 Standard 上的安全设置。

在此处查看我在 Windows 服务器上的 wwwroot 文件夹中的设置:

系统:完全控制
网络服务:读取 + 写入 + 读取和执行 + 列出文件夹内容
IIS_IUSRS:读取 + 写入

正如我一直在阅读的其他帖子所建议的那样,我尝试添加其他用户组,但我的服务器上没有 ASPNET 服务/组。

以管理员身份登录(表单身份验证)时,我可以单击按钮重新创建 sitemap_index.xml 和 sitemaps.xml
用户应该能够删除图像并将其添加到 wwwroot\images\uploads 文件夹

我应该给哪个组什么权限才能使上述内容成为可能和安全?

4

1 回答 1

7

检查应用程序池用户的访问权限。

找到您的站点正在使用的应用程序池,右键单击它并选择Advanced Settings...。池正在使用的用户名列在 旁边Identity

请注意,如果身份显示“ApplicationPoolIdentity”,您应该检查IIS AppPool\<Name of the app pool here> 有关 ApplicationPoolIdentity 的用户信息的访问权限


It looks like Modify permissions are required to delete files. Try granting NetworkService Modify permissions.

于 2012-06-28T22:37:51.283 回答