SkyTeam/AdminLoginPage.xaml.cs aktualisiert
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user