0

Tomcat 5.5.26 にデプロイされた webapp で spring と acegi を使用しています。

ユーザーが 404 ページにログインしているかどうかを確認して、ログインしている場合は名前を表示し、そうでない場合はログイン リンクを表示できるようにします。

REQUEST ディスパッチャーのフィルターに HttpSessionContextIntegrationFilter があります。ERRORディスパッチャーにもあります。

コード パスは、リクエストが私のアプリに入り、REQUEST ディスパッチャーを介して、既に適用されていることを記録する HttpSessionContextIntegrationFilter に到達し、ユーザー コンテキストを設定してからフィルター チェーンを続行し、ユーザー コンテキストをクリアするように見えます。その後、ERROR ディスパッチャーを下りますが、HttpSessionContextIntegrationFilter はこの要求に対して既に実行されているため何もしません。したがって、404 ページに到達すると、コンテキストで認証が行われません (出し入れしないでください。

4

1 に答える 1

0

これは、acegi1.0.3を使用していたためと思われます。

acegi1.0.7へのアップグレードがその答えです。

于 2009-02-13T16:28:31.793 に答える