반응형
SQL Server 로그인을 코드에 저장(C#)
저는 상당히 새로운 개발자이며 현재 다음 코드로 MYSQL 서버에 연결되는 C# 프로그램을 개발하고 있습니다.
class MySql
{
private MySqlConnection connection;
private string server;
private string database;
private string uid;
private string password;
//Constructor
public MySql()
{
Initialize();
}
//Initialize values
private void Initialize()
{
server = "mydomain.com";
database = "dbName";
uid = "Username";
password = "Password";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
}
//open connection to database
private bool OpenConnection()
{
try
{
connection.Open();
return true;
}
catch (MySqlException ex)
{
//When handling errors, you can your application's response based
//on the error number.
//The two most common error numbers when connecting are as follows:
//0: Cannot connect to server.
//1045: Invalid user name and/or password.
switch (ex.Number)
{
case 0:
MessageBox.Show("Cannot connect to server. Contact administrator");
break;
case 1045:
MessageBox.Show("Invalid username/password, please try again");
break;
}
return false;
}
}
//Close connection
private bool CloseConnection()
{
try
{
connection.Close();
return true;
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
return false;
}
}
이제 서버 로그인을 안전하게 저장하는 방법을 잘 모르겠습니다.보시다시피, 제 코드에서는 도메인, 사용자 이름 및 암호가 공개적으로 코드에 있습니다.
제가 아는 한, 그런 식으로는 안 됩니다.
어떻게 수정해야 하나요?아니면 그렇게 보관하는 게 저축인가요?감사합니다!
.NET에서 연결 문자열은 일반적으로 응용 프로그램의 .config 파일(ASP의 경우 web.config)에 저장됩니다.NET, 데스크톱용 app.config).구성 파일에서 MySQL 연결 문자열의 예는 다음과 같습니다.
<connectionStrings>
<add name="MySqlConnectionString"
providerName="MySql.Data.MySqlClient"
connectionString="server=127.0.0.1;uid=root;password=bpdash;database=sample" />
</connectionStrings>
그런 다음 구성 파일의 해당 섹션을 암호화하는 방법이 지원됩니다.연결 문자열 사용 및 암호화에 대해서는 Microsoft 문서 연결 문자열 및 구성 파일에서 설명합니다.
언급URL : https://stackoverflow.com/questions/53108102/save-sql-server-login-savely-in-code-c
반응형
'programing' 카테고리의 다른 글
| PowerShell:Out-File은 왜 긴 줄을 더 작은 줄로 나누나요? (0) | 2023.08.11 |
|---|---|
| Spring Data 저장소의 사용자 정의 방법 구현 및 REST를 통해 노출 (0) | 2023.08.11 |
| APP_INITIALIZER는 "순환 종속성을 인스턴스화할 수 없습니다!리디렉션하는 사용자 지정 Http 공급자와 함께 사용할 경우 ApplicationRef_" (0) | 2023.08.06 |
| MySQL - INSERT 문 안에서 문자열 값을 DATTIME 형식으로 구문 분석하는 방법은 무엇입니까? (0) | 2023.08.06 |
| Android 리소스/값에 부동 소수점 값 추가 (0) | 2023.08.06 |