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