0
これは初心者のmySQL質問です。mySQLに正しくログオンする方法
私はいくつかの記事やyoutubes、mySQLとC#のログインフォームについて調べていました。それぞれのソリューションと記事は、「root」アカウントでログインし、データベース内のユーザーパスワードテーブルと照合するフォームで開始されていることに気付きました。
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サーバーのrootアカウントを使用してログを記録しますが、これは多くの例で起こりますが、rootではなく特定のデータベーステーブル – user3800527
データベースに直接接続するクライアント側のアプリケーションを構築することは決してありません。データベースにアクセスしたい場合は、常にクライアント側とサーバー側を分割する必要があります。サーバー上で呼び出しを処理するための別個のアプリケーションを構築したり、Webサイトを構築したり、APIを介してデータを実行したりすることもできます。 –