2016-09-29 3 views
1

Mit typsichere Config ist es sowohl möglich, Variablensubstitution und geradezu überwiegende beiden Schlüssel und Werte auszuführen:Variablensubstitution in typsichere Konfiguration

config { 
substitution.required = ${VAR} 
should.not.override = "should not be overridden" 
} 

java -jar executable.jar -Dconfig.should.not.override="This is a security risk" 

Die Fähigkeit, Variablensubstitution zu tun erlaubt mir Konfiguration zu externalisieren, die sein sollte B. Datenbank-URLs, die sich je nach Implementierungsumgebung (Staging, qa, prod) unterscheiden.

jedoch die Fähigkeit, alles komplett zu überschreiben, so etwas wie ein Sicherheitsrisiko ist, sollte die Anwendung mit ruchloser Konfiguration ein potentieller Hacker erneut starten.

Ist es möglich, Variablensubstitution zu erlauben, aber totales Überschreiben zu unterdrücken ???

Antwort

0

Sie können die Überschreibungen anzeigen, die über die Befehlszeile mit ConfigFactory.defaultOverrides() bereitgestellt werden, und sicherstellen, dass vor dem Aufruf von ConfigFactory.load() keine verbotenen Elemente enthalten sind.

Eine weitere Option besteht darin, ein Config-Objekt selbst mit ConfigFactory.load(String resourceBasename) zu erstellen und die Überschreibungen der Befehlszeile nicht darin zusammenzuführen.

Verwandte Themen