2017-07-25 79 views
0

目前我有一个C#控制台应用程序,它使用实体框架6连接到SQL数据库。我有数据库凭据(用户名,密码,DBName等)在app.config文件中作为一个连接字符串。我知道这是一个安全漏洞,所以我希望能够将数据库凭据作为用户输入。然后,我想使用用户输入的内容连接到数据库。有没有办法将参数传递到app.config?如果不是,那么完成这个目标的最好方法是什么?谢谢!实体框架6-用户输入数据库凭证

+0

无论何时创建新帐户,您都可能在数据库上创建用户,然后以只读模式将该用户用作数据库的登录用户。但是,这需要您从一个全局登录名添加/删除数据库中的用户。 –

+0

我不认为这完成了我想要的。我不相信有没有办法让用户提供数据库凭证。是否每个人都将他们的数据库凭证硬编码到他们的配置文件中? – user3440081

+0

有很多方法可以做到这一点。但事情是,我们不是魔术师......如果你想让我们列出你所有可能的方法,那么你应该去问谷歌。尝试一下,发布你正在发布的代码,然后有人会帮助你。 –

回答

1

如果在连接字符串中保护密码是一个问题,您可以考虑加密app.config中的connectionstrings部分。有几种方法,但使用aspnet_regiis实用程序是最简单的。有些例子参见here

如果您想避免在app.config中存储密码,您应该使用运行时提供的输入构建代码中的连接字符串。 @ fuchs777评论中提到的SO帖子解释了如何做到这一点。