クラス 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.DirContextOperationsprotected CollectionSE<? extends GrantedAuthority>loadUserAuthorities(org.springframework.ldap.core.DirContextOperations userData, StringSE username, StringSE password) ユーザーの Active Directory エントリから取得したmemberOf属性の値からユーザー権限リストを作成します。voidsetAuthoritiesPopulator(LdapAuthoritiesPopulator authoritiesPopulator) 特定のユーザーが認証された後に権限を取得するための戦略を設定します。voidsetContextEnvironmentProperties(MapSE<StringSE, ObjectSE> environment) カスタム環境プロパティを使用して、初期 LDAP コンテキストを作成できます。voidsetConvertSubErrorCodesToExceptions(boolean convertSubErrorCodesToExceptions) デフォルトでは、認証の失敗(LDAP エラー 49)はBadCredentialsExceptionになります。voidsetSearchFilter(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
特定のユーザーが認証された後に権限を取得するための戦略を設定します。デフォルトのものとは異なるカスタム権限マッピングアルゴリズムが必要な場合は、これを調整することを検討してください。デフォルト値は DefaultActive DirectoryAuthoritiesPopulator です。- パラメーター:
authoritiesPopulator- 権限の人口戦略- 導入:
- 6.3