对于部署的winforms应用程序,保护app.config文件中的connectionstring信息的最佳方法是什么?
对于部署的winforms应用程序,保护app.config文件中的connectionstring信息的最佳方法是什么?
Data Source =服务器名称;Initial Catalog=数据库名称;Integrated Security=SSPI;每个用户都需要访问数据库服务器。我发现使用活动目录组是最简单的方法-在数据库服务器上给组适当的访问权限,并根据需要添加和删除用户。
使用EntLib分发的配置工具或手动加密。
编辑:当然,正如其他人所说,使用集成安全性是最好的选择,但我理解有时这不是一个选项。
在这些情况下,您需要做一些额外的工作。我以前做过,知道它有效。我将链接到一篇文章,描述了使用Windows应用程序完成此操作的挑战和最终工作解决方案。
警告:在单击此链接之前请戴上太阳镜。
http://guy.dotnet-expertise.com/PermaLink,guid,b3850894-3a8e-4b0a-aa52-5fa1d1216377.aspx
这真的取决于您希望某人如何获取连接字符串。如果您担心的只是应用程序的用户(不是开发人员),只需加密连接字符串并将加密字符串置于应用程序中的常量中即可。在运行时使用密钥解密您用于常量的加密字符串,然后在部署之前混淆您的代码。这样做是否完全可靠?当然不是,但它可能会阻止99.9%的人获取您的连接字符串。他们必须先反汇编您的代码并获取加密字符串,然后才能获得密钥。如果您担心开发人员,则上述解决方案同样适用,只要他们没有在生产中访问源代码以及可能用于加密连接字符串的密钥即可。当然,有人必须输入连接信息,但只需授予该人访问权限即可。希望这可以帮助到您。