在哪里可以存储用户在c#中给出的连接字符串?

在哪里可以存储用户在c#中给出的连接字符串?,c#,connection-string,dbcontext,setup-project,C#,Connection String,Dbcontext,Setup Project,我创建了一个Windows服务和一个安装项目。实际上,我的DbContext的连接字符串在我的project.config中,但是用户可以看到.config的内容并对其进行修改,以便将我的连接字符串存储在哪里 重要信息:在安装项目的过程中,我从用户界面获取连接信息。您可以这样做,用户将无法查看连接详细信息。 另一种选择是将其存储在密钥库中。我们在后期使用配置文件更改连接字符串,而不更改ode。因此,如果您不想允许用户查看内容,加密连接字符串并在您使用的代码中解密。@Rafaqat Ali Ok,

我创建了一个Windows服务和一个安装项目。实际上,我的DbContext的连接字符串在我的project.config中,但是用户可以看到.config的内容并对其进行修改,以便将我的连接字符串存储在哪里

重要信息:在安装项目的过程中,我从用户界面获取连接信息。

您可以这样做,用户将无法查看连接详细信息。
另一种选择是将其存储在密钥库中。

我们在后期使用配置文件更改连接字符串,而不更改ode。因此,如果您不想允许用户查看内容,加密连接字符串并在您使用的代码中解密。@Rafaqat Ali Ok,但如果我在执行请求时最终加密mu连接字符串,我将不得不在请求之前解密连接字符串,并在请求之后加密它?请注意,一个确定的有能力的攻击者仍然能够获得凭据-理想情况下您将使用Windows集成安全性进行连接,因此首先不会存储密码。如果要阻止用户直接访问SQL,则需要在两者之间放置一个层(即程序调用的API,以根据其请求执行数据库访问)