【发布时间】:2020-01-09 00:50:05
【问题描述】:
我是 ASP.Net 核心的新手,我尝试开发 ASP.Net 核心 MVC Web API。我需要连接到我的数据库。我不知道我应该把我的连接字符串放在哪里。我把它放在 appsettings.json 文件中。但是当我将 API 部署到非 Azure 主机时,它会暴露我的数据库密码。我尝试了秘密经理,但它似乎只是为了开发阶段,不确定我是否理解正确。我尝试放入环境变量,但在我的 IIS hsoting 中它不起作用。 我可以知道在部署到非 Azure 托管时如何保护我的敏感数据。我应该放在哪里?
【问题讨论】:
-
您是否担心您的 ISP 可以读取您的 appsettings.json?
-
我不确定这一点,但我相信 IIS 只是不提供 appsettings.json 文件,所以如果有人尝试浏览它,他们只会得到 404
-
@Steve 某种,只是担心。并阅读一些文章说将敏感数据存储在配置文件中并不是一个好主意。所以,想想现实世界是如何部署连接字符串的。
-
@StevenLemmens 是的,它无法冲浪。但是部署到hsoting的时候存储在appsettings.json文件中安全吗?
-
它不会通过 IIS 提供服务,但对于有人可以访问您的服务器的情况,它仍然是一个需要解决的问题。许多 ASP.NET Core 的 Microsoft 文档似乎希望将人们推送到 Azure 以获得许多不同的服务,以解决可能出现的问题或安全问题,老实说,这有点令人沮丧。您可以在部署时加密您的应用设置并在运行时解密。
标签: c# asp.net-core