クラス ActiveDirectoryLdapAuthenticationProvider
java.lang.ObjectSE
org.springframework.security.ldap.authentication.AbstractLdapAuthenticationProvider
org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider
- 実装されたすべてのインターフェース:
org.springframework.beans.factory.Aware
、org.springframework.context.MessageSourceAware
、AuthenticationProvider
public final class ActiveDirectoryLdapAuthenticationProvider
extends AbstractLdapAuthenticationProvider
Active Directory 構成規則を使用する特殊な LDAP 認証プロバイダー。
Active Directory userPrincipalName
または username@domain
形式のカスタム searchFilter
を使用して認証します。ユーザー名がまだドメイン名で終わっていない場合、userPrincipalName
は、構成されたドメイン名を認証リクエストで提供されたユーザー名に追加することによって構築されます。ドメイン名が設定されていない場合、ユーザー名には常にドメイン名が含まれると想定されます。
ユーザー権限は、memberOf
属性に含まれるデータから取得されます。
Active Directory サブエラーコード
認証が失敗し、標準の LDAP 49 エラーコードが発生した場合、Active Directory はエラーメッセージ内に独自のサブエラーコードも提供します。これらは、認証が失敗した理由に関する追加のログ情報を提供するために使用されます。典型的な例は
- 525 - ユーザーが見つかりません
- 52e - 無効な資格情報
- 530 - 現時点ではログオンが許可されていません
- 532 - パスワードが期限切れです
- 533 - アカウント無効
- 701 - アカウントが期限切れ
- 773 - ユーザーはパスワードをリセットする必要があります
- 775 - アカウントがロックされました
convertSubErrorCodesToExceptions
プロパティを true
に設定すると、発生した例外を制御するためにコードも使用されます。
- 導入:
- 3.1
フィールドサマリー
クラス org.springframework.security.ldap.authentication.AbstractLdapAuthenticationProvider から継承されたフィールド
logger, messages, userDetailsContextMapper
コンストラクターのサマリー
コンストラクターコンストラクター説明ActiveDirectoryLdapAuthenticationProvider
(StringSE domain, StringSE url) ActiveDirectoryLdapAuthenticationProvider
(StringSE domain, StringSE url, StringSE rootDn) メソッドのサマリー
修飾子と型メソッド説明protected org.springframework.ldap.core.DirContextOperations
protected CollectionSE<? extends GrantedAuthority>
loadUserAuthorities
(org.springframework.ldap.core.DirContextOperations userData, StringSE username, StringSE password) ユーザーの Active Directory エントリから取得したmemberOf
属性の値からユーザー権限リストを作成します。void
setAuthoritiesPopulator
(LdapAuthoritiesPopulator authoritiesPopulator) 特定のユーザーが認証された後に権限を取得するための戦略を設定します。void
setContextEnvironmentProperties
(MapSE<StringSE, ObjectSE> environment) カスタム環境プロパティを使用して、初期 LDAP コンテキストを作成できます。void
setConvertSubErrorCodesToExceptions
(boolean convertSubErrorCodesToExceptions) デフォルトでは、認証の失敗(LDAP エラー 49)はBadCredentialsException
になります。void
setSearchFilter
(StringSE searchFilter) 認証されるユーザーを検索する LDAP フィルター文字列。クラス org.springframework.security.ldap.authentication.AbstractLdapAuthenticationProvider から継承されたメソッド
authenticate, createSuccessfulAuthentication, getUserDetailsContextMapper, setAuthoritiesMapper, setMessageSource, setUseAuthenticationRequestCredentials, setUserDetailsContextMapper, supports
コンストラクターの詳細
ActiveDirectoryLdapAuthenticationProvider
- パラメーター:
domain
- ドメイン名 (null または空でも構いません)url
- LDAP URL (または複数の URL)rootDn
- ルート DN (null または空でも構いません)
ActiveDirectoryLdapAuthenticationProvider
- パラメーター:
domain
- ドメイン名 (null または空でも構いません)url
- LDAP URL (または複数の URL)
メソッドの詳細
doAuthentication
protected org.springframework.ldap.core.DirContextOperations doAuthentication(UsernamePasswordAuthenticationToken auth) - 次で指定:
- クラス
AbstractLdapAuthenticationProvider
のdoAuthentication
loadUserAuthorities
protected CollectionSE<? extends GrantedAuthority> loadUserAuthorities(org.springframework.ldap.core.DirContextOperations userData, StringSE username, StringSE password) ユーザーの Active Directory エントリから取得したmemberOf
属性の値からユーザー権限リストを作成します。setConvertSubErrorCodesToExceptions
public void setConvertSubErrorCodesToExceptions(boolean convertSubErrorCodesToExceptions) デフォルトでは、認証の失敗(LDAP エラー 49)はBadCredentialsException
になります。このプロパティが
true
に設定されている場合、失敗したバインド試行からの例外メッセージは AD 固有のエラーコードについて解析され、CredentialsExpiredException
、DisabledException
、AccountExpiredException
またはLockedException
は対応するコードについてスローされます。他のすべてのコードは、デフォルトのBadCredentialsException
になります。- パラメーター:
convertSubErrorCodesToExceptions
- AD エラーコードに基づいて例外を発生させるtrue
。
setSearchFilter
認証されるユーザーを検索する LDAP フィルター文字列。{0} の出現箇所はusername@domain
に置き換えられます。{1} の出現箇所は、username
のみに置き換えられます。デフォルトは:
(&(objectClass=user)(userPrincipalName={0}))
- パラメーター:
searchFilter
- フィルター文字列- 導入:
- 3.2.6
setContextEnvironmentProperties
カスタム環境プロパティを使用して、初期 LDAP コンテキストを作成できます。- パラメーター:
environment
- LDAP コンテキストの作成時に使用する追加の環境パラメーター
setAuthoritiesPopulator
特定のユーザーが認証された後に権限を取得するための戦略を設定します。デフォルトのものとは異なるカスタム権限マッピングアルゴリズムが必要な場合は、これを調整することを検討してください。デフォルト値は DefaultActiveDirectoryAuthoritiesPopulator です。- パラメーター:
authoritiesPopulator
- 権限の人口戦略- 導入:
- 6.3