Files
spring-ldap/modules/ROOT/pages/faq.adoc
Rob Winch 7c743bf7d3 Fix FAQ ID
Cannot have a ? in the id
2023-07-13 08:55:35 -06:00

18 lines
1.2 KiB
Plaintext

[[spring-ldap-faq]]
= Spring LDAP FAQ
:page-section-summary-toc: 1
[[operational-attributes]]
== Operational Attributes
[[how-do-i-remove-an-operational-attribute-by-using-context-removeattributevalue]]
=== How do I remove an operational attribute by using `context.removeAttributeValue()`?
By default, the `DirContextAdapter` reads only the visible attributes. This is because the operational attributes are returned by the server only if explicitly asked for, and there is no way for Spring LDAP to know the attributes for which to ask. This means that the `DirContextAdapter` is not populated with the operational attributes. Consequently, the `removeAttributeValue` does not have any effect (since, from the point of view of the `DirContextAdapter`, it was not there in the first place).
There are basically two ways to do this:
* Use a search or lookup method that takes the attribute names as an argument, such as `LdapTemplate#lookup(Name, String[], ContextMapper)`. Then use a `ContextMapper` implementation that returns the supplied `DirContextAdapter` in `mapFromContext()`.
* Use `LdapTemplate#modifyAttributes(Name, ModificationItem[])` directly, manually building the `ModificationItem` array.