我要在Web.config中加密appSettings:
许多方法都适用于本地,但问题是我需要在生产服务器上多次加密/解密webconfig,我不想网络管理员,每次我们这样做时都要更改web.config权限吗?
有没有更好的方法来确保appsettings?
答案 0 :(得分:6)
aspnet_regiis -pe是我假设你指的方法。
首先,只有在部署到服务器(您可能正在计划)时才会发生这种情况。其次,网络管理员只需运行管理员提示即可执行此操作 - 他们无需更改文件的权限。我在视频中对此进行了一些讨论:http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV333
答案 1 :(得分:3)
如果您想以这种方式保护appsettings内容,则必须这样做。但是,如果要在服务器场中部署Web应用程序,可能会出现问题。在这种情况下,您可能需要查看Creating and Exporting an RSA Key Container。或者,您可以将appsettings值设置为数据库并从那里读取。
答案 2 :(得分:1)
我建议你让应用程序在启动后对值进行加密。这将确保值始终加密。
然后在源代码管理树或用于部署应用程序的安装程序文件中保留未加密的值。
答案 3 :(得分:1)
您可以使用.net框架附带的aspnet_regiis.exe应用程序(注意:每个框架都有不同的aspnet_regiis.exe应用程序)
如果您的应用程序在框架2.0中,则可以使用aspnet_regiss.exe -pef或aspnet_regiss.exe -pe来加密配置文件中的选定部分。
有关详细信息,请参阅链接
http://msdn.microsoft.com/en-us/library/k6h9cz8h(v=vs.80).aspx
希望这些信息能让你获得解决方案!!!!!! :)
答案 4 :(得分:0)
http://viralsarvaiya.wordpress.com/2009/09/10/how-to-encrypt-connection-string-in-web-config/
可能此链接对您有帮助..
答案 5 :(得分:0)