c# - 如何在 ASP.NET Core 中使用密码在运行时获取连接字符串
问题描述
在这里,我使用 appsettings.json 文件作为连接字符串。我在运行时得到了没有密码的连接字符串。
例子:
((MySql.Data.MySqlClient.MySqlConnection)DataContext.Database.GetDbConnection()).ConnectionString
请帮助在运行时获取密码。
预先感谢。
解决方案
出于安全原因,这是设计使然。来自MSDN:
ConnectionString 类似于 OLE DB 连接字符串,但不相同。与 OLE DB 或 ADO 不同,返回的连接字符串与用户设置的 ConnectionString 相同,如果 Persist Security Info 值设置为 false(默认值),则减去安全信息。除非将 Persist Security Info 设置为 true,否则用于 SQL Server 的 .NET Framework 数据提供程序不会在连接字符串中保留或返回密码。
因此,尝试添加Persist Security Info=true;
您的连接字符串。
推荐阅读
- python - 不同频率的石斑鱼
- rust - 在pest.rs 和pest-ast crate 中,如何将struct 映射到嵌套的匿名组?
- git - 如何将主分支重新定位到当前分支但在它后面?
- android - 在 Android Studio 中生成应用签名时出错
- c - 读取管道时从 buf 打印的问题
- java - javafx中带有Task<>的lineChart
- dax - 从日期表中删除重复行
- active-directory - Azure Active Directory 组 - 控制用户访问
- java - 如何解决在android studio中调用虚拟方法和Sqlite给出NullPointerException?
- csv - 使用具有 csv 值的列将 CSV 文件导入 neo4j