0
이것은 초보자 용 mySQL 질문입니다.mySQL에 올바르게 로그온하는 방법
저는 몇 가지 기사와 youtubes, mySQL 및 C# 로그인 양식에 대해 살펴 보았습니다. 각 솔루션과 기사는 "루트"계정으로 로그인을 수행 한 다음 데이터베이스 내부의 사용자 - 비밀번호 테이블을 확인하는 양식으로 시작한다는 점에 유의하십시오.
public partial class Login_Form_2 : Form
{
public Login_Form_2()
{
InitializeComponent();
}
//Root level login ??
MySqlConnection connection = new MySqlConnection(
"datasource=localhost;port=3310;Initial Catalog='test';username=root;password="
);
MySqlDataAdapter adapter;
DataTable table = new DataTable();
private void BTN_Login_Click(object sender, EventArgs e)
{
adapter = new MySqlDataAdapter("SELECT `username`, `password` FROM `users` WHERE `username` = '" + textBox_username.Text + "' AND `password` = '" + textBox_password.Text + "'", connection);
adapter.Fill(table);
if(table.Rows.Count <= 0)
{
panel1.Height = 0;
label_Message.ForeColor = Color.Red;
label_Message.Text = "Username Or Password Are Invalid";
timer1.Start();
}
else
{
panel1.Height = 0;
label_Message.ForeColor = Color.Green;
label_Message.Text = "Login Successfully";
timer1.Start();
}
table.Clear();
}
}
내가 루트 암호가 클라이언트 측 코드에 있지한다고 생각 :
예를 들어 아래의 코드는 않습니다.
그리고 나는 그러한 사용자 암호 테이블이 권한 할당 가능한지 궁금합니다.
그래서 사용자 X는 테이블 Z의 특정 필드를 추가 할 수 있지만 테이블 Y는 추가 할 수 없습니다.
이렇게 로그인하면 어떻게 될까요?
위의 예제 코드에서 연결 문자열에 대해 신경을 쓰고 있습니다. '내부'사용자 테이블이있는 데이터베이스이지만 mySQL 서버의 루트 계정을 사용하여 로그합니다. 예를 들어 많이 보았지만 루트가 아니라 특정 데이터베이스 테이블의 사용자 만 로그온하고 싶습니다. – user3800527
데이터베이스에 직접 연결하는 클라이언트 측 응용 프로그램을 빌드하고 싶지는 않습니다. 데이터베이스에 액세스하려면 항상 클라이언트 측과 서버 측을 분리해야합니다. 서버에서 호출을 처리하거나 웹 사이트를 구축하고 API를 통해 데이터를 실행하기 위해 별도의 응용 프로그램을 작성할 수 있습니다. –