gpt4 book ai didi

c# - Entity Framework 6.0 + 加密连接字符串

转载 作者:行者123 更新时间:2023-11-30 18:46:31 25 4
gpt4 key购买 nike

这个问题可能会重复,但我们找不到好的解决方案。

我们的项目使用 EF 6.0 和 C#,目标是 .NET 4.0 及更高版本,最后是 SQL Server 2012。

该项目在没有的情况下工作正常。但是对 EF 连接字符串及其存储方式的查询很少。

  1. 如何读取存储在 app.config 中的加密连接字符串以在 EF 的 context.cs 文件中读取。
  2. 我们添加了以下代码来读取加密的连接字符串,它可以工作,但仅在一定程度上有效,即直到我们不添加新的存储过程。

    public MCMS_II_LogEntities() 
    // : base("name=MCMS_II_LogEntities") //Original
    :base( GetConnectionString())
    {
    }

    public static string GetConnectionString()
    {
    string connString = new System.Data.EntityClient.EntityConnectionStringBuilder
    {
    Metadata = "res://*",
    Provider = "System.Data.SqlClient",
    ProviderConnectionString = new System.Data.SqlClient.SqlConnectionStringBuilder
    {
    InitialCatalog = "<Catalog Name>",
    DataSource = ConfigurationManager.AppSettings["DataSourceAddress"].ToString(),
    IntegratedSecurity = false,
    MultipleActiveResultSets = true,
    UserID = "<LOGIN ID>", // User ID such as "sa"
    Password ="<PASSWORD>", // hide the password
    }.ConnectionString
    }.ConnectionString;
    return String.Format(connString);
    }
  3. 一旦我们将新的存储过程或函数添加到 EF 模型中,上述添加的代码将被删除。

查询

  1. 实现此目标的最佳做法是什么?
  2. 如何解决这个问题。

最佳答案

在开发过程中,您不应该对数据库连接字符串进行编码/加密,这很麻烦。加密应该在部署/推广阶段而不是在开发阶段完成。

在加密后测试连接字符串。当您准备好将代码移至 QA 或 PROD 时对其进行加密。

关于c# - Entity Framework 6.0 + 加密连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21360118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com