2017-07-21 92 views
0

最近、春のセキュリティフォームベースのログインを実装しました。サーバーの再起動時に、既存のセッションが無効になり、サーバーが再び起動するとアプリケーションが失敗します。スプリングセキュリティ - Tomcatセッションの永続化を有効にする

すぐに使用できるTomcatにセッション永続性を実装する方法はありますか。 context.xmlに<Manager pathname="" />がコメントアウトされていますが、セッションは保持されません。

実装に役立つすべてのポインタが非常に役に立ちます。

答えて

1

限り、あなたは優雅にそれを再起動する(./binで例えばshutdownstartupスクリプト)とTomcatにディスク

デフォルトのcontext.xml

にセッションをシリアライズする機会を与えているとして、実際にそれが取るすべてです
<Context> 

    <!-- Default set of monitored resources. If one of these changes, the --> 
    <!-- web application will be reloaded.         --> 
    <WatchedResource>WEB-INF/web.xml</WatchedResource> 
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource> 

    <!-- Uncomment this to disable session persistence across Tomcat restarts --> 
    <!-- 
    <Manager pathname="" /> 
    --> 
</Context> 

これを試してみてください:

  1. 起動Tomcatは、あなたのAPPLICにログインセッションを作成する。
  2. Tomcatを停止{Apache Tomcat}/work/Catalina/localhost/ROOTから
  3. ブラウズ、あなたがディスクに書き込まれたシリアル化されたセッションが含まSESSIONS.serファイルを見つける必要があります。

このファイルが表示されない場合は、別の問題が発生しています。可能であれば、詳細を追加してください。

0

セッションのすべてにSerializableが実装されていますか? docsから

に成功セッション属性の状態を復元するためには、すべての ような属性はjava.io.Serializableインタフェースを実装する必要があります。

通常、問題がある場合は、Tomcatログにエラーメッセージが表示されます。

関連する問題