@ -9,3 +9,248 @@ Consequently, support for ApacheDS will be discontinued in version 7.0.
@@ -9,3 +9,248 @@ Consequently, support for ApacheDS will be discontinued in version 7.0.
If you are currently using ApacheDS as an embedded LDAP server, we recommend migrating to https://ldap.com/unboundid-ldap-sdk-for-java/[UnboundId].
You can find instructions in xref:servlet/authentication/passwords/ldap.adoc#servlet-authentication-ldap-embedded[this section] that describe how to set up an embedded UnboundId LDAP server.
To migrate, you will need to consider the following:
Apache Directory Server supports binding with SHA-hashed passwords, but UnboundID does not.
If you run into trouble with binding users with SHA-hashed passwords, move to Spring Security's `PasswordComparisonAuthenticator` by providing a password encoder to the authentication provider:
Entry withoutPassword = new Entry(old.getDN(), attributes);
entry.setSearchEntry(withoutPassword);
}
}
}
}
----
[NOTE]
====
It is better to secure passwords by hashing them and by using queries that identify the specific columns that you need.
====
`UnboundIdContainer` does not currently have a way to register a custom `InMemoryOperationInterceptor`, but you can either copy the contents of `UnboundIdContainer` or use Spring LDAP Test's `EmbeddedLdapServer` builder in order to provide this interceptor and confirm your application's readiness.
@ -363,7 +363,7 @@ This section addresses common Spring Security architecture questions:
@@ -363,7 +363,7 @@ This section addresses common Spring Security architecture questions:
. <<appendix-faq-namespace-to-bean-mapping>>
. <<appendix-faq-role-prefix>>
. <<appendix-faq-what-dependencies>>
. <<appendix-faq-apacheds-deps>>
. <<appendix-faq-unboundid-deps>>
. <<appendix-faq-what-is-userdetailservice>>
@ -412,9 +412,42 @@ The reference manual also includes <<appendix-namespace,an appendix>> that lists
@@ -412,9 +412,42 @@ The reference manual also includes <<appendix-namespace,an appendix>> that lists
If you build your project with Maven, adding the appropriate Spring Security modules as dependencies to your `pom.xml` file automatically pulls in the core jars that the framework requires.
Any that are marked as "`optional`" in the Spring Security `pom.xml` files have to be added to your own `pom.xml` file if you need them.
[[appendix-faq-unboundid-deps]]
=== What dependences are needed to run an embedded UnboundID LDAP server?
You need to add the following dependency to your project: