是否可以使用实体框架从 app.config 保存连接字符串而不保存密码,或者以某种方式对其进行加密?不使用 Windows 身份验证,即使用用户名和密码。
连接示例:
<add name="conexionEntities" connectionString="metadata=res://*/Integration.Models.conexion.csdl|res://*/Integration.Models.conexion.ssdl|res://*/Integration.Models.conexion.msl;provider=System.Data.SqlClient;provider connection string="data source=(local);initial catalog=db_ejemplo;user id=sa;password=123456789;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
password=123456789 <-- 这个数据是我不想在 app.config 中暴露的数据
您可以如链接中所示对其部分进行加密,以防止该信息被访问。
Web.config
编辑
加密过程示例:
Web.config
使用文本编辑器进行编辑。确保它<system.web>
包含子元素:<connectionStrings>
和<machineKey>
. 一个例子可能是:使用命令提示符转到:
cd \WINDOWS\Microsoft.Net\Framework\v2.0.*
到达那里后,运行以下命令:
aspnet_regiis -pe "connectionStrings" -app "/MyApplication"
. 此命令加密<connectionStrings>
应用程序部分MyApplication
。对元素重复上一步
<machineKey>
:aspnet_regiis -pe "system.web/machineKey" -app "/MyApplication"
现在 Web.config 的内容已经加密。
额外的
访问加密数据:
尽管 ASP.NET 在
Web.config
处理文件内容时会自动解密文件内容,并且不需要额外的步骤来读取文件,但了解如何查看解密信息可能会很有趣。要访问它,可以通过这些代码行来完成。