c# - 如何将文本框文本详细信息传递给数据库连接字符串c#
问题描述
我有一个应用程序,我想将用户在文本框中输入的用户名密码端口服务名传递给连接字符串,以便我可以将它用于 Oracle 数据库连接。
例子 :
string conString = "User Id=hr;Password=hr;Data Source=localhost:1523/orcl.162.0.7;";
代替User Id
hr => textuser_id.Text
价值代替password
hr => textpass.Text
价值
解决方案
在您的应用程序中嵌入用户名和密码绝不是一个好主意。主要是因为大多数代码最终都在 github 等代码存储库中,并且您不希望用户和密码对公司的其他团队或其他 github 用户可见。所需要的只是不小心公开了一个 repo,突然之间任何人都可以访问您的数据库。一些替代方案包括
- 从 azure key vault 或 HashiCorp vault 等密钥保管库中提取它们
- 如果它们将在服务器上运行,则从系统环境变量环境变量中提取它们
- 然后正如上面推荐的先生们建议的那样,您可以使用 SqlConnectionStringBuilder 将用户名和密码放在字符串中
但是,根据您对如何操作字符串的了解,一些示例包括
public string CreateConnectionString(string user, string password)
{
string optionOne = "User Id="+user+";Password="+password+";Data Source=localhost:1523/orcl.162.0.7;";
// String interpolation
string optionTwo = $"User Id={user};Password={password};Data Source=localhost:1523/orcl.162.0.7;";
// Many more ways
return optionTwo;
}
推荐阅读
- python - 基于相等大小的分组设置列值
- python - 增加熊猫中轴刻度的大小
- reactjs - 无法解析未定义的字体,react-pdf 中的 fontWeight 400
- java - 为什么我可以在 CLI 中运行我的应用程序 VSCode 但不能正确运行?,它是一个 Spring Boot 应用程序
- python - 将包含 pm 的小时字符串转换为日期时间
- javascript - 从服务器加载数据后如何观察 VueJS 中的数据变化?
- scala - scala mockito错误`value thenReturn不是Nothing的成员`
- python - 将上传的图像保存到 Flask 上的数据库
- python - 为什么我在第一个冒号上有语法错误,但仅在某些设备上(所有 Windows 10)
- sql - 使用 SQL 确定两个日期范围是否重叠