web-dev-qa-db-ja.com

JavaベースのWebアプリケーションのWindows認証、方法は?

JavaベースのWebアプリケーションをいくつか開発しました。両方のアプリケーションには、ActiveXディレクトリの実装に基づいた個別の認証ロジックがあります。

ここで、これをWindows認証に変更して、ユーザーがWebアプリケーションのURLにアクセスするたびに、ログインページにリダイレクトする代わりに、Windows資格情報を確認する必要があるようにする必要があります。

彼のWindows資格情報をURLに保存したくありません。

これを行う良い方法はありますか?

14
finepax007

Webアプリケーションに持たせたい統合のレベルに応じて、 Spring Security は、求めているもののほぼすべての側面をカバーする必要があります。

ログインページにリダイレクトし、LDAPを介してActive Directoryサーバーに対して入力された資格情報を認証することが許容される場合は、 LDAP拡張 が最適です。

より多くのシングルサインオン(SSO)フローが必要であり、ユーザーが問題の権限のあるActive Directoryサーバーに対してすでに認証されている場合(たとえば、ユーザーがドメインにログインしている場合)、 Kerberosプラグイン ユーザーはWebアプリケーションにアクセスするだけで、他の認証手順を実行する必要がないため、SpringSecurityの方が魅力的かもしれません。システムは舞台裏でそれを処理します。

Kerberosベースの認証を最初に試し、それが失敗した場合は、ログインフォームとLDAPベースの認証にフォールバックする場合は、これらのアプローチを組み合わせて階層化することもできます。

それを超える必要がある場合、Spring Securityは十分な柔軟性を備えているため、必要に応じてOpenIDまたはアプリ内認証も使用できます。

9
cdeszaq

Active Directoryを使用してLDAP経由でWindows認証レイヤーを公開することをお勧めします。これは、 Spring Security のようなものに見舞われる可能性があります。

これにより、アプリケーションを使用しているすべての人がWindowsログインを使用するように効果的に強制されます。

2
Roy Truelove