# 🔐 Authentifizierung & Mitgliederbereich ## Standard-Login **E-Mail:** `admin@harheimertc.de` **Passwort:** `admin123` ⚠️ **WICHTIG:** Ändern Sie dieses Passwort sofort nach der ersten Anmeldung! ## Admin-Passwort setzen Das einfachste Verfahren ist das Script `scripts/set-admin-password.js`: ```bash # Mit Passwort als Argument node scripts/set-admin-password.js "mein-neues-passwort" # Oder interaktiv (Passwort wird abgefragt) node scripts/set-admin-password.js ``` Siehe auch: `scripts/README-set-admin-password.md` ## Passwort-Hash generieren (manuell) Falls Sie einen Passwort-Hash manuell generieren möchten, können Sie folgenden Node.js-Code verwenden: ```javascript import bcrypt from 'bcryptjs' const password = 'IhrNeuesPasswort' const hash = await bcrypt.hash(password, 10) console.log(hash) ``` Oder mit einem Online-Tool: https://bcrypt-generator.com/ (Rounds: 10) ## Benutzerrollen - **admin**: Voller Zugriff auf CMS und Mitgliederbereich - **vorstand**: Zugriff auf CMS und Mitgliederbereich - **mitglied**: Nur Mitgliederbereich ## Dateien - `server/data/users.json` - Benutzerdaten (verschlüsselte Passwörter) - `server/data/members.json` - Mitgliederdaten (Telefon, E-Mail, etc.) - `server/data/sessions.json` - Aktive Sessions ## Sicherheit - Passwörter werden mit bcrypt gehasht (Rounds: 10) - JWT-Tokens für Sessions (7 Tage gültig) - HTTP-Only Cookies - Geschützte API-Routen - Middleware für geschützte Seiten ## Environment Variables Fügen Sie in `.env` hinzu: ``` JWT_SECRET=ihr-geheimer-jwt-schluessel-hier SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_USER=ihre-email@example.com SMTP_PASS=ihr-smtp-passwort SMTP_FROM=noreply@harheimertc.de ```