自社の課題で管理アプリケーションというものを行っているのですが、
C#でログイン認証をという機能やっているのですが、
DBを使用するのですがうまくログイン認証ができずになっています。
それにふまえ入力されたIDとPasswordの該当があるか確認の処理も行うところです。
ログイン認証をうまくいくにはどう書いていったらよろしいでしょうか?
ご教示の程、宜しくお願い致します。
//DB接続しログインの認証をさせる
try
{
//データベース接続を確立させる
string sConnectionString;
sConnectionString = "Server=localhost;Database=mysql;uid=root;pwd=root;";
MySqlConnection conn = new MySqlConnection(sConnectionString);
conn.Open();
//データベースとDatasetオブジェクトの間のリンクを表すDataAdapterを作成 MySqlDataAdapter sa = new MySqlDataAdapter("SELECT * FROM password_list WHERE HASH", conn); //DataAdapterの呼び出し DataSet ds = new DataSet(); sa.Fill(ds); DataTable dt; dt = ds.Tables["password_list"]; //DataTableのRowsコレクションに含まれるすべてのDataRowオブジェクトを読み込み foreach (DataRow drCurrent in dt.Rows) { Console.WriteLine( drCurrent["ID"].ToString(), drCurrent["PASSWORD"].ToString()); } Console.ReadLine(); conn.Close(); } catch (MySqlException ex) { Console.WriteLine(ex.Message); }
ログイン認証をして、次のフォームに移行する処理を試してみたい認識です。
提示しているソースコードではパスワードが保存されているテーブルを読み出しているようですが、肝心の認証部分が実装されていません。一般的には入力したパスワードにSALT等を加えた上で、ストレッチを行い、ハッシュ値を求め、IDとハッシュ値が一致するレコードが存在するかクエリを掛けるような実装になるかと思います。

回答1件
あなたの回答
tips
プレビュー