私はasp.netアプリケーションを持っています。暗号化によって保護したい web.config ファイルに含まれる秘密の部分があります。私は ConfigurationSection.SectionInformation.ProtectSection メソッドを使用しており、後で WebConfigurationManager.Save を使用して保存しています。ローカルでは問題なく動作します。
問題は、サーバー上で実行すると、次のエラーが発生することです。
System.Configuration.ConfigurationErrorsException: 構成ファイルの読み込み中にエラーが発生しました: (C:\Inetpub\vhosts(SiteName)\httpdocs\web.config) ---> System.UnauthorizedAccessException: パス 'C:\Inetpub\vhosts へのアクセス(SiteName)\httpdocs\rz0fkykb.tmp' が拒否されました。
この問題は、明らかに web.config のパーツの暗号化の一環として作成されている一時ファイルへの書き込み権限がないために発生しているようです。作成する一時ファイルの名前がわからず、基本ディレクトリ全体に完全な書き込み権限を与えたくない (セキュリティ)。
web.config 暗号化の副作用として作成された tmp ファイルのパスまたは名前を構成して、それを分離して (またはカスタム固有のディレクトリに) 書き込み権限を与える方法はありますか?