コード ビハインドでこの関数を呼び出します:
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 のセキュリティ設定を確認しました。
ここで、フォルダ wwwroot の Windows サーバーの設定を参照してください。
SYSTEM: フル コントロール
NETWORK SERVICE: 読み取り + 書き込み + 読み取りと実行 + フォルダーの内容の一覧表示
IIS_IUSRS: 読み取り + 書き込み
私が読んでいる他の投稿で示唆されているように、他のユーザーグループを追加しようとしましたが、サーバーに ASPNET サービス/グループがありません。
管理者 (フォーム認証) としてログインすると、ボタンをクリックして sitemap_index.xml と sitemaps.xml を再作成できます。
ユーザーは、wwwroot\images\uploads フォルダーから画像を削除および追加できるはずです。
上記を可能かつ安全にするには、どのグループにどの権限を付与する必要がありますか?