last commit before tests
This commit is contained in:
@@ -1,14 +1,54 @@
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Windows;
|
||||
using System.Windows;
|
||||
using MySql.Data.MySqlClient;
|
||||
using BCrypt.Net;
|
||||
|
||||
namespace SkyTeam
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
// Beim Start der Anwendung einen Standard Admin-Benutzer erstellen, falls keiner existiert , selbGedacht.
|
||||
|
||||
protected override void OnStartup(StartupEventArgs e)
|
||||
{
|
||||
base.OnStartup(e);
|
||||
CreateDefaultAdmin();
|
||||
}
|
||||
|
||||
private void CreateDefaultAdmin()
|
||||
{
|
||||
string connectionString = DatenbankServices.GetConnection();
|
||||
|
||||
try
|
||||
{
|
||||
using (MySqlConnection conn = new MySqlConnection(connectionString))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
string checkQuery = "SELECT COUNT(*) FROM users WHERE Rolle = 'Admin'";
|
||||
MySqlCommand checkCmd = new MySqlCommand(checkQuery, conn);
|
||||
long count = (long)checkCmd.ExecuteScalar();
|
||||
|
||||
if (count == 0)
|
||||
{
|
||||
string hashedPassword = BCrypt.Net.BCrypt.HashPassword("admin");
|
||||
|
||||
string insertQuery = @"
|
||||
INSERT INTO users (Vorname, Nachname, Email, PasswortHash, Rolle, Stadt, CreatedAt)
|
||||
VALUES ('System', 'Root', 'admin@skyteam.com', @hash, 'Admin', 'HQ', NOW())";
|
||||
|
||||
MySqlCommand insertCmd = new MySqlCommand(insertQuery, conn);
|
||||
insertCmd.Parameters.AddWithValue("@hash", hashedPassword);
|
||||
insertCmd.ExecuteNonQuery();
|
||||
|
||||
MessageBox.Show("Ein Standard-Admin wurde erstellt!\nEmail: admin@skyteam.com\nPasswort: admin");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception ex) {
|
||||
|
||||
MessageBox.Show("Fehler beim Erstellen des Standard Admins: " + ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user