Использование типизированного конфига это как можно выполнять подстановку переменной и откровенную подмену обоего ключей и значений:Ограничить замены переменных в типизированной конфигурации
config {
substitution.required = ${VAR}
should.not.override = "should not be overridden"
}
java -jar executable.jar -Dconfig.should.not.override="This is a security risk"
Способности делать подстановку переменной позволяет мне экстернализовать конфигурацию, которая должна быть внешние, такие как URL-адреса базы данных, которые будут отличаться в зависимости от среды развертывания (этап, qa, prod).
Однако возможность прямого преодоления чего-либо является угрозой безопасности, если потенциальный хакер запустит приложение с гнусной конфигурацией.
Возможно ли разрешить переменную замену, но подавить полное переопределение?