private void Login_Click(object sender, EventArgs e) { string userName = LoginUserName.Text; string password = LoginPassword.Text; try { if (Type.Text == "" || Type.Text == null) { MessageBox.Show("请选择用户身份"); } else if (LoginUserName.Text == "" || LoginUserName.Text == null || LoginPassword.Text == "" || LoginPassword.Text == "") { MessageBox.Show("请输入正确的用户名和密码"); } else if (Type.Text == "管理员") { string SelectSQL = "select * from admin where UserName=N'" + userName + "'"; DataSet ds = SqlHelper.ExecuteDataset(conn, CommandType.Text, SelectSQL); if (ds.Tables[0].Rows.Count > 0) { //该用户名存在,从数据中获取保存的加盐哈希值,赋值给变量goodhash string goodhash = ds.Tables[0].Rows[0]["Password"].ToString(); //判断用户输入的密码是否匹配 if (PasswordSecurity.PasswordStorage.VerifyPassword(password, goodhash)) { f9 = new Form9(); f9.Show(); this.Hide(); } else { LoginUserName.Clear(); LoginPassword.Clear(); MessageBox.Show("如果不是管理员,请离开"); } } else { LoginUserName.Clear(); LoginPassword.Clear(); MessageBox.Show("如果不是管理员,请离开"); } } else if (Type.Text == "教师") { string SelectSQL = "select * from teacher where UserName=N'" + userName + "'"; DataSet ds = SqlHelper.ExecuteDataset(conn, CommandType.Text, SelectSQL); if (ds.Tables[0].Rows.Count > 0) { //该用户名存在,从数据中获取保存的加盐哈希值,赋值给变量goodhash string goodhash = ds.Tables[0].Rows[0]["Password"].ToString(); //判断用户输入的密码是否匹配 if (PasswordSecurity.PasswordStorage.VerifyPassword(password, goodhash)) { f3 = new Form3(); f3.Show(); this.Hide(); } else { LoginUserName.Clear(); LoginPassword.Clear(); MessageBox.Show("如果不是老师,请选择正确的身份登录"); } } else { LoginUserName.Clear(); LoginPassword.Clear(); MessageBox.Show("如果不是老师,请选择正确的身份登录"); } } else if (Type.Text == "学生") { string SelectSQL = "select * from StdInfo where UserName=N'" + userName + "'"; DataSet ds = SqlHelper.ExecuteDataset(conn, CommandType.Text, SelectSQL); if (ds.Tables[0].Rows.Count > 0) { string goodhash = ds.Tables[0].Rows[0]["Password"].ToString(); if (PasswordSecurity.PasswordStorage.VerifyPassword(password, goodhash)) { f2 = new Form2(); f2.Show(); this.Hide(); } else { LoginUserName.Clear(); LoginPassword.Clear(); MessageBox.Show("用户名或密码错误"); } } else { LoginUserName.Clear(); LoginPassword.Clear(); MessageBox.Show("用户名或密码错误"); } } else { MessageBox.Show("用户名或密码错误或身份不匹配"); } } catch { MessageBox.Show("用户名或密码输入错误"); } }