[Seasar-user:12135] Re: リクエストがPostメソッドで要求された場合Initializeメソッドが呼出されない

Lyu.sehyun [E-MAIL ADDRESS DELETED]
2007年 12月 17日 (月) 17:40:24 JST


柳です。

回答ありがとうございます。

どころが、
外部の連携元のサイトとの調整はできない状態です。(改訂だし、お客さんなので。。)
それで、間にワンクッションページを入れ、受け取った値をPreRenderで
判定する方式などを考えてましたが、
実はInitializeのメソッドって今回の開発に結構影響が大きい問題です。
すべてのページクラスが親を継承して、共通処理をInitializeで纏めて
処理してます。(ページの接続権限チェック、サービス提供チェックなど。。。)
すべてがセキュリティに絡む分部で見られちゃまずいところが結構多です。
それで、根本的な対策を求めていて、ちょっと、ソースを追いましたが、

isPostというメソッドでPOSTの判定を行っている場所まで辿り着きました。
そこのメソッドを利用してPostBackかどうかを見てますが、
それに加えて
リクエストのヘッダのrefererのURLと要求されたURLが一致しているかを
チェックするように修正してテストを行ってます。
こいう方法ってダメでしょうか?

それと、特にPOSTならすべてPostBackに判定する理由がありましたら
教えてもらえますか?

以上です。
よろしくお願いします。


2007/12/17, Yasuo Higa <[E-MAIL ADDRESS DELETED]>:
> ひがです。
>
> > お世話になっております。
> > 柳です。
> >
> > 現在開発(改訂)中のプロジェクトに外部連携がありまして、
> > 外のサイトからPostで直接に要求を受けパラメタ値から
> > 該当する画面の表示可否を判定してます。
> >
> > Aサイト       →        開発サイト
> > Post:facade.html
> > Code=xxxxxx
> >
> > どころが、当サイトのFacadePageのInitializeメソッドが呼出されず、
> > 画面が表示されてしまうことが発生します。
> > 念のためほかのページにも試した結果、開発サイトの外からの呼出しによっては
> > すべて同じ結果が発生してます。
> >
> > 現在使用中のバージョンは以下のとおりです。
> > s2-framework 2.4.17
> > s2-extension 2.4.17
> > s2-tiger 2.4.17
> > teeda-core 1.0.11-sp1
> > teeda-extension 1.0.11-sp1
> > teeda-tiger 1.0.11-sp1
> >
> Teedaでは、GETでしかinitialize()は(たぶん)呼び出されません。
> POSTだとポストバック(doXxxの呼び出し)だと
> 判定するためです。
>
> GETで呼び出すのが難しければ、
> POSTでFacadePageが期待する
> form用のhiddenパラメータと
> ボタンに対応するパラメータも送ってあげると
> doXxx()が呼び出されると思います。
>
> よろしくお願いします。


Seasar-user メーリングリストの案内