私は 2 つの osgi 分散 Web アプリ A(A1、A2) と B(B1、B2) を持っています。shiro を使用してシングル サインオンの http セッションを共有し、一方のシステムにログインするともう一方のシステムにもログインできるようにしています。しかし、認証・認可データとは別にセッションデータをシステムAとBで分けたいので、認証データを共有し、AとBのシステム固有のセッションデータを分ける方法が必要です。シングル サインオンし、システムごとに異なる分散セッションを使用してシステム固有のデータを保存する場合、主なワークフローは次のようになります。
- shiro でシステム A にログインし、shiro セッション ID を使用して別のセッション (またはセッション データを保存するためのデータ ホルダー オブジェクト) を作成し、それをバックエンド (db またはキャッシュ) に保存します。
- システムAで何かを行い、セッションデータを上で作成したセッションに入れ、バックエンドに書き込みます。
- 別のリクエストがシステム A に届いたら、shiro セッション ID と一致する ID を持つセッションを探し、見つかった場合はそれを使用し、そうでない場合は新しいセッションを作成します。
それは理にかなっていますか?それは私の問題を解決する正しい方法ですか?最善の方法は何ですか?あなたの考えを共有してください。どんな入力でも大歓迎です。ありがとうございました。