/api/auth/login und /api/auth/register akzeptierten zuvor jeden beliebigen Nutzernamen/Passwort und stellten ein gueltiges 30-Tage-JWT aus - konkrete, ausnutzbare Luecke bei echtem Deployment. - PasswordHasher (PBKDF2, Salt pro Nutzer) + UserStore (LiteDB) statt des ungeprueften Stubs - /api/auth/register ersatzlos entfernt (kein offener Registrierungs-Endpunkt fuer ein Einzel-/Familien-Deployment) - Neue Nutzer per CLI (dotnet LehrerApp.Api.dll create-user <name>), dokumentiert in docker/README.md - Neues Testprojekt LehrerApp.Api.Tests (bisher als einziges Projekt ohne Tests) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
926 B
926 B
LehrerApp.Api – Deployment per Docker
Starten
cd docker
JWT_SECRET=<zufälliger-langer-string> docker compose up -d
./data (relativ zu docker/) wird als Volume gemountet und enthält alle Server-Daten
(Ereignis-Logs, Snapshots, Nutzer) – bei Neustarts/Updates bleibt es erhalten.
Nutzer anlegen
Es gibt keine offene Registrierung (/api/auth/register). Neue Nutzer werden per CLI im
laufenden Container angelegt:
docker compose exec api dotnet LehrerApp.Api.dll create-user <benutzername>
Fragt interaktiv nach einem Passwort (mind. 12 Zeichen). Alternativ nicht-interaktiv, z. B. aus einem Skript:
docker compose exec api dotnet LehrerApp.Api.dll create-user <benutzername> --password "<passwort>"
Der Befehl beendet sich danach sofort wieder, ohne den API-Dienst zu starten – für den
eigentlichen Serverbetrieb läuft docker compose up unverändert weiter.