71 lines
1.7 KiB
Markdown
71 lines
1.7 KiB
Markdown
# 🔐 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
|
|
```
|
|
|