5

現在、すべて同じサーブレット コンテナー (現在は Tomcat ですが、私のソリューションを Tomcat だけに限定したくありません) にデプロイされている複数の JVM ベース (Grails、Servlets) Web アプリケーションにまたがるシングル サインオン ソリューションを実装しようとしています。すべての Web アプリケーションは、共通のデータベースを共有します。

CAS やその他のサードパーティ ライブラリの使用から、シングル サインオンを処理する新しい Web サービスの作成まで、さまざまなオプションを検討しましたが、ビジネスを本当に満足させるものはないようです。私の現在の実装には、 AuthenticationProvidersの共通実装と、Spring Security に基づく事前認証フィルターを持つ新しい jar ライブラリの作成が含まれます。

このアプローチでは、アプリケーションが認証するための複数の AuthenticationProvider (現在は Active Directory とデータベース) があります。認証が成功すると、ユーザー、有効期限、およびトークンを含む行がセッション テーブルに挿入されます。トークンは、ユーザーのマシンに Cookie として保存され、事前認証フィルターに現在のセッションがあることを検証するために使用されます。

以前にこれを行ったことがないので、大きなセキュリティ上の問題を引き起こしていないことを確認したいのですが、トークンを作成するために何が必要かを知りたいですか? この時点で、単純な GUID で十分だと思われますか?

現在、Spring Security 3.0.x に取り組んでおり、まだ 3.1 にアップグレードしていません。

前もって感謝します。

4

2 に答える 2

2

Spring Security Extensions Web サイトで利用可能な KERBEROS、OAuth、および SAML で利用可能な拡張機能があります。例を提供するブログエントリは次のとおりです。SpringSource ブログ

NTLM を SSO プロバイダーとして使用している場合は、jespa-springプロジェクトを参照してください。

または、Java Open Single Sign-On Project を参照してください。

于 2012-10-28T15:16:55.970 に答える