2013-06-12 46 views
0

我想补充的web.config的部分路段进行自动加密下列要求:我应该使用什么策略来加密web.config部分?

  1. 应该自动完成每一次启动应用程序(我不希望它使用手动aspnet_regiis每个配置后做编辑)
  2. 它应该会自动只在生产环境中发生(我要看看我的机器上我的价值观)

这不是一个问题,发现它的代码,我的问题是把它放在哪里,以及如何确保它不在我的本地主机上执行? 我试图把它放到Global.asax,但我得到Request is not available in this context例外。

谢谢。

+0

Web.config用于确定(尤其是)哪个版本的.Net应该执行 - 因此,您无法加密_whole_文件并在.Net内解密它,因为那时太迟了。对文件的某些部分进行加密完全是另一回事...... – Basic

+0

**应用程序启动后对值**进行加密听起来像是非常有趣的安全方法......为什么不把它始终保持纯文本? –

+2

如果您在生产服务器上已经有了明文,稍后再对其进行加密并没有什么好处。 – SLaks

回答

3

我建议将此设置为部署过程的一部分。

每次应用程序启动时调用加密不是一个好主意,因为ASP.Net应用程序池会不时自我回收,这可能会导致问题。

根据您的部署过程,您可以通过批处理文件powershell脚本执行此操作,但需要在您的生产计算机上运行。

+0

我相信OP意味着每次应用程序启动时都应该_decrypted_(似乎更有意义) – Basic

+0

如果您使用的是aspnet_regiis提供的基本web.config加密模型,它将自动解密Web。配置,只要它需要从中拉取一个值。但是,如果我们讨论的是整个web.config,那可能有点不同。 –

+0

@ Dillie-O我可以用它做什么问题?我知道machineKey,我打算使用永久性的。我不想加密整个文件,我更新了这个问题。而且我不想每次都手动完成,只要添加这5行代码,这些代码会为我处理。 – Burjua

相关问题