Spring LDAP FAQ

操作属性

context.removeAttributeValue() を使用して操作属性を削除するにはどうすればよいですか ?

デフォルトでは、DirContextAdapter は表示されている属性のみを読み取ります。これは、操作属性は明示的に要求された場合にのみサーバーによって返され、Spring LDAP には要求する属性を知る方法がないためです。これは、DirContextAdapter に操作属性が設定されていないことを意味します。removeAttributeValue は何の効果もありません ( DirContextAdapter の観点からは、最初から存在しなかったためです)。

これを行うには基本的に 2 つの方法があります。

  • LdapTemplate#lookup(Name, String[], ContextMapper) など、属性名を引数として受け取る検索メソッドまたはルックアップメソッドを使用します。次に、提供された DirContextAdapter を mapFromContext() で返す ContextMapper 実装を使用します。

  • LdapTemplate#modifyAttributes(Name, ModificationItem[]) を直接使用し、ModificationItem 配列を手動で構築します。