Uploaded image for project: 'Ymir'
  1. Ymir
  2. YMIR-6

[ymir-core] リクエストパラメータのinjectionを制限できるようにする

XMLWordPrintable

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Minor Minor
    • 0.9.0
    • Affects Version/s: 0.9.0
    • Component/s: ymir-core
    • None

      Pageオブジェクトへのリクエストパラメータのinjection処理で、setterのうち次のものは対象外にするようにする。
      1. 引数がインタフェースもしくはインタフェースの配列のもの(s2の自動DI用だから)
      2. @Inアノテーションがついているもの(scopeからのインジェクション用だから)
      3. S2の@Bindアノテーションがついているもの(s2のDI用だから)
      4. @Protectedアノテーションがついているもの

      実際は1や3を対象外にするのは大変。そこで以下のように考える。
      1→どのみちbeanutilsで型の変換に失敗するのでほうっておく。ただ現状のYmirの実装では変換に失敗した時点で
       全てのパラメータのinjectionがスキップされてしまうので、失敗したものだけをスキップするように修正する。
      2→対象外にする。
      3→定数アノテーションなど全てをチェックするのが大変なので、対象外する。引数の型がリクエストパラメータを受け入れ
       可能な型である場合は@Protectedをつけてもらう。
      4→対象外にする。

            Assignee:
            skirnir skirnir
            Reporter:
            skirnir skirnir
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: