2つの異なるTomcatインスタンスで実行されている2つの異なるWebアプリケーションがあります。両方のアプリケーションへのリンクを含む共通のページを用意する必要があります。ただし、ログインできるのは1回だけで、再度ログインするように求められることなく、他のアプリケーションのリンクにアクセスできる必要があります。それを行う方法はありますか?
5 に答える
アプリケーション全体でシングルサインオンソリューションを作成するために使用できるjossoを確認してください
トークンパラメータを使用できます。トークンは、暗号化されたユーザー名/一部のクレデンシャルである可能性があります。2つのアプリでクレデンシャルが正しいことを確認できます。
別の方法として、アプリケーションが同じドメインにある場合は、Cookieを設定し、そこからセッションを再作成します。
返信ありがとうございます。最終的に、検証用の認証トークンとともにこの要件を満たすために、Springセキュリティが提供する事前認証フィルターを使用することにしました。
最も簡単な方法は、Central Authentication Service(CAS):シングルサインオンを提供することです。アプリケーションに一元化されたアクセス制御と認証を提供します。また、Spring Securityには、CASとシームレスに統合するCASモジュールがあります。そのためには、CASサーバーをセットアップする必要があります。
CASの動作と実装の詳細については、ドキュメントを参照してください。
もう1つの方法は、Tomcatクラスターを作成し、クラスターの下の2つのノード間のセッションレプリケーションを維持することです。Tomcatクラスターを作成してセッションレプリケーションを有効にする方法については、Tomcatのマニュアルを参照してください。Spring RMIを使用して、セッション情報などに関する他の各ノードのアプリコンテキストを更新できます。