程序的有效登录控制?

时间:2014-03-02 04:46:12

标签: c# sql visual-studio-2012 login

这是针对学校的迷你项目,在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();
        }

我需要一个截图。 enter image description here

0 个答案:

没有答案