这是针对学校的迷你项目,在vs2012中使用c#。我的主要表单包括一个登录面板和打开子表单的按钮。由于我对登录页面的安全性一无所知,因此我发现登录面板和主控件都以相同的形式很方便。当您未登录时,按钮将保持禁用状态。如果您以管理员身份登录,则所有按钮都将启用,如果您以员工身份登录,则只启用其中一些按钮。它是否有效,或者它是否会危及安全性?我是否需要为其制作单独的表单?下面是我的验证功能,在单击登录按钮时运行。
public void verify()
{
con.Open();
lblNotify.Text = "";
cmd = new SqlCommand("SELECT COUNT(*) FROM USERS where username = '" + txtUser.Text + "' AND pass = HASHBYTES('SHA1','" + txtPass.Text + "');", con);
if ((int)cmd.ExecuteScalar() == 0)
{
lblNotify.Text = "Incorrect username or password. Try again.";
}
else
{
btnLogin.Enabled = false;
btnLogout.Enabled = true;
lblNotify.Text = "You are currently logged in as " + txtUser.Text + ".";
if (txtUser.Text == "admin"){
panelMenu.Enabled = true;
txtUser.Enabled = false;
txtPass.Enabled = false;
}
}
con.Close();
}
//login
private void btnLogin_Click(object sender, EventArgs e)
{
verify();
}
我需要一个截图。