//Passwort zurücksetzen private void mi_PW_Butt_Click(object sender, EventArgs e) { try { //Standartpasswort wird gesetzt SqlConnection.ExecuteStatement("UPDATE tmitarbeiter SET miPasswort = '" + Md5.GetMD5("#10!?" + userNameTB.Text.ToLower() + startpw + "~^g2+3") + "' WHERE miID = '" + ((ListItem)userNameBox.SelectedItem).DatabankID + "'"); MessageBox.Show("Das Passwort wurde auf " + startpw + " gesetzt"); } catch (MySqlException ex) { MessageBox.Show("Es kam zu einem Problem mit der Datenbank." + Environment.NewLine + "Fehlernummer: " + ex.Number + Environment.NewLine + "Fehlerbeschreibung: " + ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
//Neuen Mitarbeiter anlegen private void mit_New_Butt_Click(object sender, EventArgs e) { //Keine Bearbeitung aktiv if (mitarbeiterBearbStatus == 0) { mi_New_Butt.Text = "Anlegen"; mi_Cancel_Butt.Visible = true; mi_Del_Butt.Enabled = false; mi_PW_Butt.Enabled = false; mi_Change_Butt.Enabled = false; roleBox.SelectedIndex = 1; //Textboxen enablen setMitarbeiterReadOnly(false); //Textboxen leeren userNameTB.Text = ""; nameTB.Text = ""; vornameTB.Text = ""; mailTB.Text = ""; mitarbeiterBearbStatus = 2; } //Neuer Mitarbeiter else if (mitarbeiterBearbStatus == 2) { if (mitarbeiterValid() && userNameTB.Text != "" && nameTB.Text != "" && vornameTB.Text != "" && mailTB.Text != "") { string pwCoded = Md5.GetMD5("#10!?" + userNameTB.Text.ToLower() + startpw + "~^g2+3"); //Überprüfen, ob Benutzername bereits benutzt wird if (SqlConnection.CountStatement("SELECT COUNT(miUsername) FROM tMitarbeiter WHERE miUsername LIKE '" + userNameTB.Text + "'") < 1) { try { //Benutzer abspeichern SqlConnection.ExecuteStatement("INSERT INTO tmitarbeiter " + "(`roID`, `miName`, `miVorname`, `miUsername`, `miPasswort`, `miEMail`) " + "VALUES ('" + ((ListItem)roleBox.SelectedItem).DatabankID + "','" + vornameTB.Text + "','" + nameTB.Text + "','" + userNameTB.Text + "','" + pwCoded + "','" + mailTB.Text + "')"); MessageBox.Show("Neuer User wurde angelegt. Passwort ist: " + startpw); //Buttons enablen mi_New_Butt.Text = "Neuer Mitarbeiter"; mi_Del_Butt.Enabled = true; mi_PW_Butt.Enabled = true; mi_Change_Butt.Enabled = true; mi_Cancel_Butt.Visible = false; setMitarbeiterReadOnly(true); mitarbeiterInitialisieren(); mitarbeiterBearbStatus = 0; } catch (MySqlException ex) { MessageBox.Show("Es kam zu einem Problem mit der Datenbank." + Environment.NewLine + "Fehlernummer: " + ex.Number + Environment.NewLine + "Fehlerbeschreibung: " + ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Dieser Benutzername wird bereits verwendet.", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Stop); } } else { MessageBox.Show("Es wurden nicht alle Felder korrekt ausgefüllt."); } } }
private void login_Butt_Click(object sender, EventArgs e) { //Check, ob Name und Passwort eingegeben wurden if (login_Name_Box.Text != "" && login_PW_Box.Text != "") { try { string startpw = Md5.GetMD5("#10!?" + login_Name_Box.Text + "#start12~^g2+3"); string pw = Md5.GetMD5("#10!?" + login_Name_Box.Text.ToLower() + login_PW_Box.Text + "~^g2+3"); DataTable user = SqlConnection.SelectStatement("SELECT miId, roID FROM tmitarbeiter WHERE miUsername = '******' AND miPasswort = '" + pw + "'"); DataTableReader reader = user.CreateDataReader(); //Wurde kein Treffer gefunden, existiert der Mitarbeiter nicht, bzw falsches Passwort if (reader.HasRows) { //Rolle abspeichern reader.Read(); //Vorrübegehende Lösung weil das so ist! int rolle = Convert.ToInt32(reader[1].ToString()); //int rolle = reader.GetInt32(1); int userId = reader.GetInt32(0); try { //Die Session mit der Rolle wird erstellt und die Hauptmaske geöffnet. Session.CreateSession(rolle, userId); if (startpw == pw) { ChangePW changepwform = new ChangePW(true); if (changepwform.ShowDialog() != DialogResult.OK) { Environment.Exit(0); } } this.DialogResult = DialogResult.OK; this.Close(); } catch (FormatException) { //Falls der Benutzer nicht die Rolle 1, oder 2 hatte, was nicht passieren darf. MessageBox.Show("Es scheint ein Fehlerhafter Benutzer angelegt worden zu sein."); } } else { MessageBox.Show("Sie haben einen falschen Benutzername/Passwort eingegeben."); } } catch (MySqlException ex) { switch (ex.Number) { case 0: MessageBox.Show("Datenbank konnte nicht erreicht werden.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); break; case 1042: MessageBox.Show("Datenbank konnte nicht erreicht werden", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); break; case 1045: MessageBox.Show("Falscher Datenbankbenutzer/Passwort.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); break; default: MessageBox.Show("Es kam zu einem unerwarteten Fehler mit der Datenbank.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } } } }