クラス LdapUserDetailsManager
java.lang.ObjectSE
org.springframework.security.ldap.userdetails.LdapUserDetailsManager
- 実装されたすべてのインターフェース:
UserDetailsService
,UserDetailsManager
UserDetailsManager の Ldap 実装。
これは、ユーザーとグループ / ロールがそれぞれ "userDnBase" プロパティと "groupSearchBase" プロパティによって定義された別々のコンテキストに保存される標準設定に基づいて設計されています。
この場合、LDAP は純粋に情報を取得するために使用されており、このクラスは他の UserDetailsService の代わりに認証に使用できます。LDAP 認証プロバイダーのセットアップとは異なり、認証はディレクトリに対して直接実行されません。
- 導入:
- 2.0
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明protected void
addAuthorities
(org.springframework.ldap.core.DistinguishedName userDn, CollectionSE<? extends GrantedAuthority> authorities) protected org.springframework.ldap.core.DistinguishedName
buildGroupDn
(StringSE group) グループ名から DN を作成します。void
changePassword
(StringSE oldPassword, StringSE newPassword) 現在のユーザーのパスワードを変更します。protected void
copyToContext
(UserDetails user, org.springframework.ldap.core.DirContextAdapter ctx) void
createUser
(UserDetails user) 指定された詳細で新しいユーザーを作成します。void
deleteUser
(StringSE username) 指定されたログイン名を持つユーザーをシステムから削除します。loadUserByUsername
(StringSE username) ユーザー名に基づいてユーザーを見つけます。protected void
removeAuthorities
(org.springframework.ldap.core.DistinguishedName userDn, CollectionSE<? extends GrantedAuthority> authorities) void
setAttributesToRetrieve
(StringSE[] attributesToRetrieve) void
setGroupMemberAttributeName
(StringSE groupMemberAttributeName) グループのメンバーであるユーザーの DN を保持する複数値属性の名前を設定します。void
setGroupRoleAttributeName
(StringSE groupRoleAttributeName) void
setGroupSearchBase
(StringSE groupSearchBase) void
setPasswordAttributeName
(StringSE passwordAttributeName) void
setRoleMapper
(org.springframework.ldap.core.AttributesMapper roleMapper) void
setSecurityContextHolderStrategy
(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。void
setUsePasswordModifyExtensionOperation
(boolean usePasswordModifyExtensionOperation) ユーザーのパスワードを変更する方法を設定します。void
setUserDetailsMapper
(UserDetailsContextMapper userDetailsMapper) void
setUsernameMapper
(LdapUsernameToDnMapper usernameMapper) void
updateUser
(UserDetails user) 指定されたユーザーを更新します。boolean
userExists
(StringSE username) 指定されたログイン名を持つユーザーがシステムに存在するかどうかを確認します。
コンストラクターの詳細
LdapUserDetailsManager
public LdapUserDetailsManager(org.springframework.ldap.core.ContextSource contextSource)
メソッドの詳細
loadUserByUsername
インターフェースからコピーされた説明:UserDetailsService
ユーザー名に基づいてユーザーを見つけます。実際の実装では、実装インスタンスの構成方法に応じて、検索で大文字と小文字が区別される場合と、大文字と小文字が区別されない場合があります。この場合、戻ってくるUserDetails
オブジェクトのユーザー名は、実際にリクエストされたものとは異なる場合があります。- 次で指定:
- インターフェース
UserDetailsService
のloadUserByUsername
- パラメーター:
username
- データが必要なユーザーを識別するユーザー名。- 戻り値:
- 完全に入力されたユーザーレコード (非
null
)
changePassword
現在のユーザーのパスワードを変更します。ユーザー名はセキュリティコンテキストから取得されます。対応する LDAP サーバーの機能に応じて、ユーザーのパスワードを変更するための 2 つの戦略がサポートされています。1 つの方法で設定すると、このメソッドは LDAP パスワード変更拡張操作を介してユーザーのパスワードを変更します。詳細については、
setUsePasswordModifyExtensionOperation(boolean)
を参照してください。ただし、デフォルトでは、古いパスワードが指定されている場合、ユーザーとして再バインドすることで更新が行われ、ユーザーの権限を使用してパスワードが変更されます。
oldPassword
が null の場合、更新は、コンテキストソースによって提供される標準の読み取り / 書き込みコンテキストを使用して試行されます。- 次で指定:
- インターフェース
UserDetailsManager
のchangePassword
- パラメーター:
oldPassword
- 古いパスワードnewPassword
- パスワードの新しい値。
createUser
インターフェースからコピーされた説明:UserDetailsManager
指定された詳細で新しいユーザーを作成します。- 次で指定:
- インターフェース
UserDetailsManager
のcreateUser
updateUser
インターフェースからコピーされた説明:UserDetailsManager
指定されたユーザーを更新します。- 次で指定:
- インターフェース
UserDetailsManager
のupdateUser
deleteUser
インターフェースからコピーされた説明:UserDetailsManager
指定されたログイン名を持つユーザーをシステムから削除します。- 次で指定:
- インターフェース
UserDetailsManager
のdeleteUser
userExists
インターフェースからコピーされた説明:UserDetailsManager
指定されたログイン名を持つユーザーがシステムに存在するかどうかを確認します。- 次で指定:
- インターフェース
UserDetailsManager
のuserExists
buildGroupDn
グループ名から DN を作成します。- パラメーター:
group
- グループの名前- 戻り値:
- 対応するグループの DN(groupSearchBase を含む)
copyToContext
addAuthorities
protected void addAuthorities(org.springframework.ldap.core.DistinguishedName userDn, CollectionSE<? extends GrantedAuthority> authorities) removeAuthorities
protected void removeAuthorities(org.springframework.ldap.core.DistinguishedName userDn, CollectionSE<? extends GrantedAuthority> authorities) setUsernameMapper
setPasswordAttributeName
setGroupSearchBase
setGroupRoleAttributeName
setAttributesToRetrieve
setUserDetailsMapper
setGroupMemberAttributeName
グループのメンバーであるユーザーの DN を保持する複数値属性の名前を設定します。通常、これは uniquemember (デフォルト値)または member です。
- パラメーター:
groupMemberAttributeName
- グループメンバーの格納に使用される属性の名前。
setRoleMapper
public void setRoleMapper(org.springframework.ldap.core.AttributesMapper roleMapper) setUsePasswordModifyExtensionOperation
public void setUsePasswordModifyExtensionOperation(boolean usePasswordModifyExtensionOperation) ユーザーのパスワードを変更する方法を設定します。true
に設定すると、changePassword(java.lang.String, java.lang.String)
はパスワード変更拡張操作を介してユーザーのパスワードを変更します。false
に設定すると、changePassword(java.lang.String, java.lang.String)
は対応するエントリの属性を直接変更することにより、ユーザーのパスワードを変更します。この設定を使用する前に、対応する LDAP サーバーがこの拡張操作をサポートしていることを確認してください。デフォルトでは、usePasswordModifyExtensionOperation
は false です。- パラメーター:
usePasswordModifyExtensionOperation
-- 導入:
- 4.2.9
setSecurityContextHolderStrategy
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。デフォルトのアクションは、SecurityContextHolder
に格納されているSecurityContextHolderStrategy
を使用することです。- 導入:
- 5.8