首页 > 解决方案 > 如何在 ASP.NET Core 中使用密码在运行时获取连接字符串

问题描述

在这里,我使用 appsettings.json 文件作为连接字符串。我在运行时得到了没有密码的连接字符串。

例子:

((MySql.Data.MySqlClient.MySqlConnection)DataContext.Database.GetDbConnection()).ConnectionString

请帮助在运行时获取密码。

预先感谢。

标签: c#mysqlasp.net-core

解决方案


出于安全原因,这是设计使然。来自MSDN

ConnectionString 类似于 OLE DB 连接字符串,但不相同。与 OLE DB 或 ADO 不同,返回的连接字符串与用户设置的 ConnectionString 相同,如果 Persist Security Info 值设置为 false(默认值),则减去安全信息。除非将 Persist Security Info 设置为 true,否则用于 SQL Server 的 .NET Framework 数据提供程序不会在连接字符串中保留或返回密码。

因此,尝试添加Persist Security Info=true;您的连接字符串。


推荐阅读