2016-07-08 9 views
0

私は、アプリケーションのセッション管理のためのSpringセッションのフレームワークを検討しており、セッションをデータベースに格納したいと考えています。 SpringがJDBCで実装を提供し、独自のDataSourceを設定できることを理解しています。私が直面している問題は、dbに直接アクセスすることができず、あらゆる種類のクラッシュ操作を行うためにWebサービスコールを行う必要があることです。JDBCの代わりにバックエンドのAPIを使用したSpringセッション

したがって、dbにセッション関連のクラッシュ操作のためのWebサービスを消費するためにspring-sessionを統合する方法はありますか?

別の質問は、セッション関連テーブルのスキーマを変更できるかどうかです。私はテーブル名を変更できることを知っていますが、与えられたテーブルの列を追加または削除することは可能ですか?

+0

もちろん自分のリポジトリを提供していますが、Webサービスコールを行う必要がある場合は、それが非常に効率的であるとは思わないでしょう... –

答えて

0

あなたはかなり簡単にカスタムセッションリポジトリを利用することができます - @EnableSpringHttpSessionを使用する(SpringHttpSessionConfigurationをインポートする)一般的な春のセッションコンポーネントを設定し、あなたのSessionRepository実装@Beanを登録します。

JdbcOperationsSessionRepositoryで使用されるスキーマのより高度なカスタマイズについては、これはJDBCサポートの実装時に考慮されましたが、これを最初に提供しないようにしました。この機能が必要な場合は、Spring Session issue trackerに機能要求を作成することを検討してください。

+0

あなたの返信@Vedranに感謝します。私はJdbcOperationsSessionRepositoryを見つけ出しました。よくしかし、Webセッションのユースケースが保留されており、他のフレームワークを使用している可能性があります。恐らく認証と一緒にApacheのshiroを使用しているかもしれません。 –

+0

また、Spring Securityを使用してアプリケーションの認証と認可の側面を管理することもできます。 Spring Sessionの焦点はユーザセッション管理であり、2つはうまく連携します。このようなユースケースのための[サンプルプロジェクト](https://github.com/spring-projects/spring-session/tree/master/samples/security)がSpringセッションプロジェクト自体にあります。 –

関連する問題