我用我的代码隐藏来调用这个函数:
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文件夹
我应该赋予哪些组权限以允许上述内容可以安全?
答案 0 :(得分:6)
检查应用程序池用户的访问权限。
找到您网站正在使用的应用程序池,右键单击它并选择Advanced Settings...
。池正在使用的用户名列在Identity
旁边。
请注意,如果标识名为“ApplicationPoolIdentity”,则应检查用户IIS AppPool\<Name of the app pool here>
Info about ApplicationPoolIdentity的访问权限
看来Modify
权限为required to delete files。尝试授予NetworkService Modify
权限。