2009-03-05 6 views
1

私はSpring Source 2.0セキュリティプラグインを使用しています。このページで説明したチュートリアルでは、セキュリティのRequestmapメソッドを使用しています。2つのアプリケーション間のスプリングセキュリティ

Acegi Plugin Tutorial

私は今、次のような第2の書店を作成し、同じチュートリアルを実装したいです。

 
grails create-app bookstore2 

両方のアプリケーションが同じデータベースを共有するので、すべてのユーザー、ロールなどは2つのアプリケーションで共通になります。最後に、特定のユーザーが最初に認証されると、2番目の書店で自動的に認証されるようにします。これを実装する最良の方法は何ですか?

答えて

1

Acegiが提供する「私を覚えてください」機能を活用することができます。クッキーベースであるため、最初のアプリケーションに対して認証するとクッキーが破棄され、2番目のアプリケーションにログインしようとすると、セキュリティモデルが同一である限り、クッキーによってすぐに認証されます。

参照:詳細はAcegi Documentationを参照してください。

+0

は、アプリが同じドメインにある場合にのみ機能します。そうしないと、セキュリティ上の脆弱性が存在します。 – Chii

+0

実際には、2つ目のドメインで可能な場合は「回避」してください。何かのような:www.bookstore.comとtwo.bookstore.comはwww.bookstoretwo.comを指しています。上記のようにクッキーが機能しない場合、クッキーは機能しません。 –

+0

Remember me cookieは/ bookstoreに適用されます。 2番目の書店は/ bookstore2にあります。私は/でクッキーを作成しなければならないと思っています。 –

1

CASをご覧ください。これは、複数のWebアプリケーション間でSingle Sign Onを使用できるようにするフェデレーション型のログインサーバーです。それはJava、Springベースですが、アーキテクチャに精通している必要があります。 Spring SecurityにはCASの組み込みサポートがあります。

+0

はるかに簡単な方法はありませんか? Glassfishな​​どのアプリケーションサーバーは、すでにレルムでSSOをサポートしています。 –

+0

はい、確かに単純な方法ですが、私はあまり経験がありません。 CASは柔軟性を提供します。他のアプリケーションを接続したい場合や、別のアプリケーションサーバーにアプリケーションを移動したい場合に使用します。 –

関連する問題