SkyTeam/AdminLoginPage.xaml.cs aktualisiert
This commit is contained in:
@@ -9,6 +9,10 @@ namespace SkyTeam
|
|||||||
{
|
{
|
||||||
public partial class AdminLoginPage : Page
|
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();
|
public AdminLoginPage() => InitializeComponent();
|
||||||
|
|
||||||
private void AdminLogin_Click(object sender, RoutedEventArgs e)
|
private void AdminLogin_Click(object sender, RoutedEventArgs e)
|
||||||
@@ -33,8 +37,16 @@ namespace SkyTeam
|
|||||||
string storedHash = reader.GetString("PasswortHash");
|
string storedHash = reader.GetString("PasswortHash");
|
||||||
int dbId = reader.GetInt32("Id");
|
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))
|
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.CurrentUserId = dbId;
|
||||||
SessionManager.CurrentUserName = AdminUserBox.Text;
|
SessionManager.CurrentUserName = AdminUserBox.Text;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user