0

数日間、私は Magnolia と Spring のセッション Bean に関する問題を解決しようとしていますが、何時間も経っても何が問題なのかわかりません。

Tomcat 7.0.5 で動作する Magnolia 5.2.4 に基づく単純なアプリケーションを開発しています。私はSpring MVCと一緒にブロッサムも使用しています

私が抱えている問題は、匿名ユーザーのパブリックでのみ発生し、ログに記録されたすべての使用データを保持するために使用しているセッション Bean に関するものです。はい、物事をより複雑にしないためにスプリング セキュリティを使用していません。したがって、たとえばログに記録されたユーザーデータを保存するセッションスコープ Bean があります。jspページなどのBeanから取得しています。

  1. ユーザーがログに記録された後に www.my_doman.com/appName と入力すると (セッション Bean にユーザー データが入力されます)、ユーザー データが空 (= null) であるため、新しいセッション Bean を取得しているように見えます。www.my_doman.com/appName/action.html または www.my_doman.com/appName// のようなアクションを実行すると、適切なコントローラーがトリガーされ、直後に入力したユーザー データを含む適切なセッション Bean が取得されます。彼はログインしています。さらに、www.my_doman.com/appName は www.my_doman.com/appName**/** として動作しません。

  2. ログアウトすると、sessionBean (sessionBean.setUserData(null);) に保存されているユーザー データを消去し、セッションを無効にします (request.getSession().invalidate)。「古い」ユーザー データが取得されることがあります。他のコンピューターでも、他のマシンにログオンしているユーザーを傍受できます。だから-「ログアウト」をクリックすると、コントローラーとjspはユーザーデータを見つけられません(正しいことです)が、アクションをwww.my_doman.com/appName/に変更すると、古いセッションBeanがログアウトしたユーザーで返されますデータ。スーパーユーザーの作成者では、問題なく動作します.......

誰が何が間違っているのか考えていますか? 私は匿名ユーザーのマグノリアの権利を試していましたが、これは私が思うほどではありません。

宜しくお願いします。

4

1 に答える 1

1

別のコンピューターで古いデータを取得したら、パブリック インスタンスの管理インターフェイスにログインして、[ツール]/[キャッシュ ツール] に移動し、ページの下部にある [すべてをフラッシュ] ボタンをクリックします。その後、問題が解決するかどうかを確認してください。ユーザー固有のキャッシュすべきではないページをキャッシュしていると思われます。上記のテストで問題が解決した場合は、キャッシュの構成を調べて再構成し、パーソナライズされた情報を持つページをキャッシュから除外する必要があります。

HTH、
1月

于 2015-04-21T12:51:51.207 に答える