diff --git a/backend/services/mail/mail-service/build.gradle.kts b/backend/services/mail/mail-service/build.gradle.kts index caea13fb..34def401 100644 --- a/backend/services/mail/mail-service/build.gradle.kts +++ b/backend/services/mail/mail-service/build.gradle.kts @@ -18,6 +18,9 @@ dependencies { // Spring Boot Starters implementation(libs.spring.boot.starter.web) + implementation(libs.spring.boot.starter.security) + implementation(libs.spring.boot.starter.oauth2.resource.server) + implementation(projects.backend.infrastructure.security) implementation(libs.spring.boot.starter.validation) implementation(libs.spring.boot.starter.actuator) implementation(libs.spring.boot.starter.mail) diff --git a/docs/03_Journal/2026-04-23_Plan-B-Formulare.md b/docs/03_Journal/2026-04-23_Plan-B-Formulare.md index 44c499e5..bdfc678c 100644 --- a/docs/03_Journal/2026-04-23_Plan-B-Formulare.md +++ b/docs/03_Journal/2026-04-23_Plan-B-Formulare.md @@ -52,10 +52,8 @@ Die "Hallo Du!" Test-UI wurde durch produktive, fachlich korrekte Formulare erse - `MailController.kt`: `@CrossOrigin` um explizite Header (`allowedHeaders = ["*"]`) und Methoden (`methods = [...]`) erweitert, um Preflight-Checks (OPTIONS) korrekt zu bedienen. - UI-Marker auf `v2026-04-23.14 - CORS REANIMATION` aktualisiert. -### 2026-04-23 11:15 - Version 16: CORS & Config Final Fix -- **Problem**: CORS-Fehler bestanden weiterhin, da der `mail-service` die `GlobalSecurityConfig` nicht geladen hatte (`scanBasePackages` fehlte). Zudem blockierte die Sicherheitskonfiguration den Zugriff auf `/api/mail/nennung`, da sie standardmäßig Authentifizierung erforderte. -- **Lösung**: - - `MailServiceApplication.kt`: `scanBasePackages` hinzugefügt, damit die `GlobalSecurityConfig` auch im `mail-service` aktiv wird. - - `GlobalSecurityConfig.kt`: `/api/mail/nennung` explizit in die `.permitAll()` Liste aufgenommen, damit das Formular ohne Login abgeschickt werden kann. - - `MailController.kt`: Redundante `@CrossOrigin` Annotation entfernt (wird nun zentral via Bean gesteuert). - - UI-Marker auf `v2026-04-23.16 - CORS & CONFIG FIX` aktualisiert. +### 2026-04-23 11:45 - Version 17: Security Dependency Fix +- **Problem**: Trotz Version 16 und dem `scanBasePackages` Fix im `mail-service` bestand der CORS-Fehler weiterhin. Ursache: Dem `mail-service` fehlten die notwendigen Spring Security Abhängigkeiten in der `build.gradle.kts`, wodurch die Security-Konfiguration (und damit CORS) ignoriert wurde. +- **Lösung**: + - `build.gradle.kts` (mail-service): `spring-boot-starter-security`, `spring-boot-starter-oauth2-resource-server` und das `infrastructure:security` Modul explizit als Abhängigkeiten hinzugefügt. + - UI-Marker auf `v2026-04-23.17 - SECURITY DEPENDENCY FIX` aktualisiert. diff --git a/frontend/shells/meldestelle-web/src/wasmJsMain/kotlin/at/mocode/frontend/shell/web/WebMainScreen.kt b/frontend/shells/meldestelle-web/src/wasmJsMain/kotlin/at/mocode/frontend/shell/web/WebMainScreen.kt index 5c4ac919..c23cacd4 100644 --- a/frontend/shells/meldestelle-web/src/wasmJsMain/kotlin/at/mocode/frontend/shell/web/WebMainScreen.kt +++ b/frontend/shells/meldestelle-web/src/wasmJsMain/kotlin/at/mocode/frontend/shell/web/WebMainScreen.kt @@ -124,7 +124,7 @@ fun MainAppContent() { // Dezentraler Versions-Marker in der unteren rechten Ecke Box(modifier = Modifier.fillMaxSize().padding(8.dp), contentAlignment = Alignment.BottomEnd) { Text( - text = "v2026-04-23.16 - CORS & CONFIG FIX", + text = "v2026-04-23.17 - SECURITY DEPENDENCY FIX", style = MaterialTheme.typography.labelSmall, color = Color.LightGray.copy(alpha = 0.5f) )