diff --git a/README.md b/README.md index f3fe79f..d4c8167 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,14 @@ einem erfolgreichen Login erreichbar sind. * `APP_SECURITY_ADMIN_USER`: Muss angegeben werden zur Aktivierung der Zugriffsbeschränkung. * `APP_SECURITY_ADMIN_PASSWORD`: Das Passwort für den Administrator (Empfohlen). +Ein Administrator-Passwort muss inklusive des Encoding-Prefixes vorliegen. + +Hier Beispiele für das Beispielpasswort `very-secret`: + +* `{noop}very-secret` (Das Passwort liegt im Klartext vor - nicht empfohlen!) +* `{bcrypt}$2y$05$CCkfsMr/wbTleMyjVIK8g.Aa3RCvrvoLXVAsL.f6KeouS88vXD9b6` +* `{sha256}9a34717f0646b5e9cfcba70055de62edb026ff4f68671ba3db96aa29297d2df5f1a037d58c745657` + Wird kein Administrator-Passwort angegeben, wird ein zufälliger Wert generiert und beim Start der Anwendung in den Logs angezeigt. diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt index 68eb629..e0cff94 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt @@ -58,16 +58,17 @@ class AppSecurityConfiguration( } else { securityConfigProperties.adminUser } + val adminPassword = if (securityConfigProperties.adminPassword.isNullOrBlank()) { val random = UUID.randomUUID().toString() logger.warn("Using random Admin Passwort: {}", random) - random + passwordEncoder.encode(random) } else { securityConfigProperties.adminPassword } val user: UserDetails = User.withUsername(adminUser) - .password(passwordEncoder.encode(adminPassword)) + .password(adminPassword) .roles("ADMIN") .build() diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index d538338..3d4827c 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -12,7 +12,7 @@ app: servers: localhost:9094 #security: # admin-user: admin - # admin-password: very-secret + # admin-password: "{noop}very-secret" server: port: 8000