2

Websphere 6.1 構成があり、アプリケーションが実行されていますが、いくつかの要求は j_security_check に送られますが、最後の要求 (J_security_check に関連付けられたフィルターがあります) は 404 エラーを生成します。

例えば:

(1) ユーザーは http://localhost:9081/Page/j_security_checkに投稿 し、Filter1 では機能しますが、後で Filter2 へのリクエストで 404 エラーが発生します。

(1a) 次のフィルタが j_security_check に関連付けられていることに注意してください。

<filter-mapping>
        <filter-name>Filter1</filter-name>
        <url-pattern>/j_security_check</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>Filter2</filter-name>
        <url-pattern>/j_security_check</url-pattern>
    </filter-mapping>

(2) コードはフィルター コードに到達します。

chain.doFilter(req, res);

WASReqURL には次の Cookie 値があります。これは j_security_check で必要です: http://localhost:9081/Test/test.html

理想的には、クライアントは ' http://localhost:9081/Test/test.html 'に到達する必要があります。

しかし、その後の j_security_check へのリクエストで 404 エラーが発生します: http://localhost:9081/Page/j_security_check

また、web.xml ファイル内の関連するスニペットを次に示します。

<login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
        <form-login-page>/Go</form-login-page>
        <form-error-page>/Go</form-error-page>
    </form-login-config>
</login-config>

問題は、websphere の観点から「J_security_check」を制御するものです。

詳細: RAD7 Websphere Server 6.1、ローカル ボックス

4

2 に答える 2

1

これは、WebSphere 6.1 および Spring Security でよく知られている問題です。

管理コンソールを使用して、この変数をサーバー プロパティに追加する必要があります。

    com.ibm.ws.webcontainer.invokefilterscompatibility = true

また、正確なバージョンに応じて、websphere のパッチをインストールする必要があることも覚えています。

私が言及した変数についてインターネットで調べるだけで、解決策が見つかります...

それが役に立てば幸い ...

ミゲル

于 2009-04-16T11:45:51.657 に答える
1

[アプリケーション サーバー] > [server1] > [Web コンテナー] > [カスタム プロパティ]に移動し、com.ibm.ws.webcontainer.invokefilterscompatibility変数が true に設定されていることを確認します。この変数はj_security_check、アプリケーションのスイッチとして機能します。

于 2012-01-18T22:08:33.697 に答える