5

で作業していません。フィルタはurlを書き換えることができません。URLRewriteフィルタは、私は次のようにそのルールの1つを有するtuckeyのURLRewriteフィルタを使用していますマルチパートフォーム

このアイデアを解決する方法はありますか?

+0

どのようなエラーが表示されますか?正規表現の – Kraylog

+0

が一致せず、書き換えルールが機能しない –

+0

POSTを使用して入力フィールドの文字列を取得できないという問題はありますか? – kamaci

答えて

1

アプリケーションのソースを変更できる場合は、JSESSIONIDを抽出する「パラメータ」メソッドを使用できるように、アプリケーションのソースを変更できます。デフォルトでは(少なくともTomcat上では)JSESSIONIDはフォームのポストには渡されませんが、フォームを変更してそれを組み込むことができます。たとえば、JSPページは次のようになります。

<form action="index.jsp" method="post"> 
    <input type="hidden" name="JSESSIONID" value="${pageContext.session.id}"/> 
    <input type="submit"/> 
</form> 

は、別の方法としては、試してみて、異なる条件を使用して、セッションCookieからJSESSIONIDをフェッチすることができます。私は、次のことを試してみましたが、それはあなたのために働く可能性のようなものを想像していない:

<rule> 
    <name>Proxy URL with jsession ID's</name> 
    <note></note> 
    <condition type="cookie" name="JSESSIONID"/> 
    <from>^/([^?]*)\.htm(.*)$</from> 
    <to type="proxy">%{request-url};jsessionid=%{cookie:JSESSIONID}$2</to> 
</rule> 

あなたが潜在的にセッションIDが有効(要求されたセッション-ID-有効)であったかどうかを確認するために使用することができ、他の条件があります。クッキー(要求セッションIDからクッキー)またはポストアクションのURL(requested-session-id-from-url)に由来しています。

私はあなたが使用しているUrlRewriteFilterのバージョンはわかりませんが、あなたが見れば「永久JSESSIONIDを含む受信URLをリダイレクトする。」の例以下のURLであなたはJSESSIONIDは、他のようなパラメータではないことがわかりますPOST/GETパラメータは次のとおりです。

http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/3.2/guide.html

私は非常にあなたが渡されている正確に何のためのアイデアを得るので、あなたのPOSTリクエストとヘッダを調べるために一緒にFirefoxの/ Firebugのを使用してお勧めすることができます。 (これには他にも同様のツールがあると確信しています、Fiddler 2など)。

関連する問題