如何在asp.net中创建登录页面?

时间:2013-03-13 10:32:41

标签: asp.net sql-server

我正在一个项目中,我有一个员工注册页面,员工可以在其中注册自己并选择他们的用户ID和密码,这些都保存在SQL数据库中。我想使用该用户ID和密码登录。

1 个答案:

答案 0 :(得分:4)

好吧,在我开始之前,让我们谈谈我将不得不做出的假设,因为你在问题中几乎没有提供任何信息。请记住,我必须做出这些假设,以便我能提供某种答案。

数据库架构

我将假设数据库架构看起来像这样:

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

网络表单

我将假设网络表单看起来像这样:

<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
    }
}

安全

我在我的例子中做了一个假设,为了简单和简洁起见,我在数据库中没有加密密码。你应该。但是,如果你没有这样做,你可以添加到这个例子中。