我在一个项目中工作,我有一个员工注册页面,员工可以在其中注册自己并选择他们的用户 ID 和密码,这些用户 ID 和密码保存在 SQL 数据库中。我想使用该用户 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 回答