From 8dd1177c02670d83484ba8498e699bf0151c7cb6 Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Fri, 25 Aug 2006 16:03:50 +0000 Subject: [PATCH] Added property to force use of LdapContext instead of DirContext --- .../ldap/DefaultInitialDirContextFactory.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/org/acegisecurity/ldap/DefaultInitialDirContextFactory.java b/core/src/main/java/org/acegisecurity/ldap/DefaultInitialDirContextFactory.java index 048bc0020f..27880f3d82 100644 --- a/core/src/main/java/org/acegisecurity/ldap/DefaultInitialDirContextFactory.java +++ b/core/src/main/java/org/acegisecurity/ldap/DefaultInitialDirContextFactory.java @@ -35,6 +35,7 @@ import javax.naming.CommunicationException; import javax.naming.Context; import javax.naming.NamingException; import javax.naming.OperationNotSupportedException; +import javax.naming.ldap.InitialLdapContext; import javax.naming.directory.DirContext; import javax.naming.directory.InitialDirContext; @@ -105,6 +106,9 @@ public class DefaultInitialDirContextFactory implements InitialDirContextFactory */ private boolean useConnectionPool = true; + /** Set to true for ldap v3 compatible servers */ + private boolean useLdapContext = false; + //~ Constructors =================================================================================================== /** @@ -169,7 +173,7 @@ public class DefaultInitialDirContextFactory implements InitialDirContextFactory } try { - return new InitialDirContext(env); + return useLdapContext ? new InitialLdapContext(env, null) : new InitialDirContext(env); } catch (NamingException ne) { if ((ne instanceof javax.naming.AuthenticationException) || (ne instanceof OperationNotSupportedException)) { @@ -309,4 +313,8 @@ public class DefaultInitialDirContextFactory implements InitialDirContextFactory public void setUseConnectionPool(boolean useConnectionPool) { this.useConnectionPool = useConnectionPool; } + + public void setUseLdapContext(boolean useLdapContext) { + this.useLdapContext = useLdapContext; + } }