programing

SQL Server 로그인을 코드에 저장(C#)

minimums 2023. 8. 11. 21:37
반응형

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

반응형