2

typesafe config を使用すると、変数の置換と、キーと値の両方の完全なオーバーライドを実行できます。

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

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

変数置換を行う機能により、展開環境 (ステージング、qa、prod) によって異なるデータベース URL など、外部化する必要がある構成を外部化できます。

ただし、潜在的なハッカーが悪意のある構成でアプリケーションを再起動した場合、何かを完全にオーバーライドする機能はセキュリティ上のリスクとなります。

変数の置換を許可することは可能ですが、全体のオーバーライドは抑制できますか???

4

1 に答える 1

1

を使用してコマンドラインから提供されたオーバーライドConfigFactory.defaultOverrides()を確認し、 を呼び出す前に禁止されているものが含まれていないことを確認できますConfigFactory.load()

もう 1 つのオプションは、自分で Config オブジェクトを作成ConfigFactory.load(String resourceBasename)し、コマンド ライン オーバーライドをそれにマージしないことです。

于 2016-10-27T09:37:29.697 に答える