0

weblogic 10.3.7 にデプロイされたアプリにJSF2.1.7 があり、 server にデフォルトの state_ Saving_method があります。

私たちのセキュリティは、以下のテストを正常に実行できます..

Session 1 
   1)  Access the login page 
   2) Post the login request with successful login.
   3) record the login form values along with ViewStateId.

Session 2
   1) Access the login page
   2) Post the login request with form values including view state id from session 1.
   3) successful login  (but expected view expired as it is different session).

Viewstate id は 1 つのセッション内でのみ使用できますが、サーバー状態の保存方法が正しくないことが証明されています。

しかし、それはサーバーのセッション ID に対して保存されたビューステートではありませんか? 、私たちの設定に欠けているものはありますか?

ありがとう

4

1 に答える 1

0

これは設計どおりに機能していると言えます。(状態保存モードjavax.faces.ViewStateの場合) オブジェクトは、セッションで表示されているページの状態を保持するように設計されており、サーバー側のオブジェクトにマップするためのキーとして を使用します。JSF 実装ごとに、セッションごとに保存できるビュー ステート オブジェクトの固定数があります。クライアントが特定のセッションのキーと一致しない、またはどこにも見つからないa をポストバックしようとすると、JSF はそのキーがある時点で存在し、単に期限切れになった可能性があると想定します。SERVERviewStateIdviewStateIdStateManagerViewStateExpiredException

于 2012-10-02T05:01:43.193 に答える