0

私は Spring 3.2 を使用しており、悪意のあるユーザーがバインドされたオブジェクトに値を挿入できないように、バインドを許可する属性をコントローラーに強制的に指定させる方法を探しています。Spring はsetAllowedFields()、ホワイトリスト /setDisallowedFields()ブラックリストへの使用を推奨しています。

このホワイトリストを手動で行うのではなく、動的に行いたいので、フォームに表示される属性をバインドしたいと考えています。

このホワイトリストを取得することは可能ですか? フォームの可視属性を取得する方法はありますか?

ありがとう。

4

1 に答える 1

0

RequestDataValueProcessor特にメソッドを実装できますprocessFormFieldValue。許可されたフィールド名のコレクションを作成し、これをセッションに保存できます。

次に、メソッドを拡張しConfigurableWebBindingInitializerてオーバーライドしますinitBinder。コレクションを取得し、WebDataBinderそこに事前設定します。

そして最後に、すべてを結び付けるための構成が必要になります。

リンク

  • RequestDataValueProcessor javadoc
  • ConfigurableWebBindingInitializer javadoc
于 2013-11-07T13:20:46.633 に答える