使用Entity Framework访问非本地服务器上的数据库时,应如何在连接字符串(存储在web.config文件中)中指定用户名和密码参数?
我阅读过C#分步指南(John Sharp,2010年版),由于潜在的逆向工程或有人掌握了源代码,所以从不将其硬编码到您的应用程序中。因此,我想了解传统的最佳做法。
硬编码用户名和密码是错误的,原因有以下三个:
没有解决这个问题的灵丹妙药,在这种情况下,安全仅取决于负责安全的人员的纪律和良好意愿。
在我的公司中,它是这样的:
web.config
在将应用程序部署到生产计算机上时,他们将开发部门的信息与自己的秘密合并在一起加密中的用户名和密码web.config
只能帮上大忙。最终,您将必须以清晰的形式在您的应用程序中对加密密钥进行硬编码,这使我们回到了拆卸问题上。
在我看来,一个非常好的解决方案是将公司内部的工作与加密,明文密钥和混淆结合在一起。
总体思路是:
这意味着某人(可能是公司的所有者或其他负责人)需要使用“ greasemonkey”应用程序来加密用户名和密码,并将所得到的加密结果提供给应用程序管理员。
别忘了还有db管理员,最初为所有者提供了初始的一对凭据。所有者需要更改密码,然后执行我布置的所有操作。
总之,有许多解决方案,其中一些比其他解决方案更复杂。这不仅涉及工具和代码,而且涉及学科。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句