-6

私は、従業員が自分自身を登録し、SQL データベースに保存されているユーザー ID とパスワードを選択できる従業員登録ページがあるプロジェクトで作業しています。そのユーザーIDとパスワードでログインしたい。

4

1 に答える 1

4

さて、始める前に、あなたが質問でほとんど情報を提供しなかったので、私がしなければならない仮定について話しましょう。ある種の答えを提供できるように、これらの仮定を行う必要があることを覚えておいてください。

データベース スキーマ

データベース スキーマは次のようになっていると仮定します。

... TABLE users (
    userid INT PRIMARY KEY IDENTITY (1, 1),
    username VARCHAR(50),
    password VARCHAR(50)
)

ウェブフォーム

Web フォームは次のようになると仮定します。

<asp:TextBox ID="username" runat="server" />
<asp:TextBox ID="password" runat="server" />
<asp:Button ID="login" Text="Login" runat="server" />

さて、いくつかの仮定を立てたので、ここで、私が立てた仮定でそれを行う方法を示します。まず、Clickイベントを接続します。

<asp:Button ID="login" Text="Login" runat="server" OnClick="LoginUser" />

次に、コード ビハインドにイベント ハンドラーが必要です。

public void LoginUser(object sender, EventArgs e)
{
    SqlConnection cn = new SqlConnection(connectionString);
    cn.Open();

    DataTable dt = new DataTable();
    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM users WHERE username = @username AND password = @password", cn);

    using (cn)
    {
        sda.SelectCommand.Parameters.AddWithValue("@username", this.username.Text);
        sda.SelectCommand.Parameters.AddWithValue("@password", this.password.Text);

        sda.Fill(dt);

        if (dt.Rows.Count == 0)
        {
            // do something here, like show a label stating that the username
            // and password combination didn't match

            return;
        }

        // if you get here then it was a valid login
    }
}

安全

この例では、単純さと簡潔さのために、データベースに暗号化されたパスワードがないと仮定しました。あなたがすべき。ただし、まだ行っていない場合は、この例に追加することができます。

于 2013-03-13T11:17:04.590 に答える