2013-01-02 13 views
5

UI上の同じナビゲーションバーに統一された少数の別個の戦争から構成されたWebアプリケーションを必要とします。すべてのシステムをセキュリティで保護する必要がありますが、このセキュリティコンテキストのサブWebアプリケーションへのアクセス。私は春のセキュリティを使用している、誰かが助言を私を助けることができる?ありがとういくつかのWebアプリケーション間でセキュリティコンテキストを共有する

+0

あなたのWARはシングルEARにパッケージ化されていますか? –

+0

nope、同じサーブレットコンテナ内の絶対に別個の戦争、私はちょうどユーザーがメインアプリケーションにログオンした後に認証を伝播する必要があります、最初の考えはクッキーのセキュリティトークンですが、そのように見えませんように思われる – Fagoter

+2

いずれかの方法CAS (それについてはSpringのドキュメントを参照してください) –

答えて

5

スプリングセキュリティは、httpセッションでログインデータを保存します。だから私が試みるのは、アプリケーション間でセッションを共有することです。

これは、Single Sing On属性を使用して(Tomcatで)可能です。

ただし、2つのアプリケーション間でセッションを共有することは危険ではないことに注意してください。 this Stack Overflow questionを参照してください。

4

これは以下のアプローチによって達成できます。 Springでは、デフォルトでSecurityContextHttpSessionに格納されています。代わりに、いくつかの共有リポジトリに格納するように設定できます。

HttpSessionSecurityContextRepositoryではなく、SecurityContextRepositoryの実装を使用するように設定を変更する必要があります。セキュリティフレームワークを設定すると、すべてのWebアプリケーションで使用できるRepositoryが表示されます。

Repositoryは、データベースサーバーまたはキャッシュサーバーのいずれかです。

関連する問題