問題
Glassfish 3.1.2.2 で実行され、認証が高価な環境で RESTful API を公開するアプリケーションを作成しています。資格情報を渡してすべてのリクエストを認証することは現実的ではありません。セッションベースのアプローチが必要です。
BASIC 認証とインメモリ セッション レプリケーションの使用を検討しています (アプリはクラスターでの展開をサポートする必要があります)。「ログイン」状態のみを共有していることを考えると、メモリ内レプリケーションは高価に思えます。アプリケーションの他のすべてのコンポーネントはステートレスです。
私の質問は次のとおりです。より良い代替手段はありますか?
たとえば、インメモリ レプリケーションを使用する代わりに、Glassfish を構成してセッション状態をデータベースに永続化することはできますか?
私は「リソースとしてのセッション」アプローチを検討しました。たとえば、POST から /session へのログイン、DELETE /session/{id} からのログアウトなどです。これにより、より多くの制御が提供されますが、サービスの消費者にとってはより困難になります (BASIC 認証のようなものに対して)。