SkyTeam/AdminLoginPage.xaml.cs aktualisiert

This commit is contained in:
2026-03-06 12:45:34 +01:00
parent 037f81385c
commit 63db842f1c

View File

@@ -9,6 +9,10 @@ namespace SkyTeam
{
public partial class AdminLoginPage : Page
{
// Quelle: Microsoft Learn
// Nutzung eines "Expression bodied members" (=>) für den Konstruktor
// Das macht Methoden oder Konstruktoren, die nur aus einer einzigen Zeile bestehen,
// deutlich kompakter und besser lesbar
public AdminLoginPage() => InitializeComponent();
private void AdminLogin_Click(object sender, RoutedEventArgs e)
@@ -33,8 +37,16 @@ namespace SkyTeam
string storedHash = reader.GetString("PasswortHash");
int dbId = reader.GetInt32("Id");
// Quelle: Stack Overflow
// Genau wie beim normalen User-Login prüfen wir das Passwort lokal
// über die BCrypt-Bibliothek. Ein direkter Abgleich in der SQL-Datenbank
// (WHERE PasswortHash = @hash) ist unmöglich, da BCrypt dynamische Salts verwendet
if (BCrypt.Net.BCrypt.Verify(AdminPassBox.Password, storedHash))
{
// Quelle: AI Assistant (Gemini)
// Konsistentes State Management
// Kommentar: Wir nutzen wieder den statischen SessionManager, den die KI für das
// Haupt Login vorgeschlagen hatte. So weiß das AdminDashboard sofort, wer eingeloggt ist
SessionManager.CurrentUserId = dbId;
SessionManager.CurrentUserName = AdminUserBox.Text;