我有一个 asp.net 应用程序。 我想通过加密保护 web.config 文件中包含的 secret 部分。 我正在使用 ConfigurationSection.SectionInformation.ProtectSection 方法,然后使用 WebConfigurationManager.Save 来保存它。 在本地它工作正常。
问题是当它在服务器上运行时,我得到这个错误:
System.Configuration.ConfigurationErrorsException: An error occurred loading a configuration file: (C:\Inetpub\vhosts(SiteName)\httpdocs\web.config) ---> System.UnauthorizedAccessException: Access to the path 'C:\Inetpub\vhosts(SiteName)\httpdocs\rz0fkykb.tmp' is denied.
这个问题似乎是因为临时文件没有写权限,这显然是作为加密 web.config 中的部分的一部分创建的。我不知道要创建的临时文件的名称,也不想授予对整个基本目录(安全性)的完全写入权限。
有没有办法配置作为 web.config 加密的副作用创建的 tmp 文件的路径或名称,以便我可以隔离它并赋予它(或自定义特定目录)写入权限?
最佳答案
在<system.web>
下设置的webconfig文件这段代码
<identity impersonate="true" userName="your username of your current account"
password="your password" />
关于ASP.NET Web.config 加密 - 无法访问临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13217616/