diff --git a/core/src/main/java/org/acegisecurity/providers/ldap/DefaultInitialDirContextFactory.java b/core/src/main/java/org/acegisecurity/providers/ldap/DefaultInitialDirContextFactory.java index b9c5b3c31b..2e99c48ec6 100644 --- a/core/src/main/java/org/acegisecurity/providers/ldap/DefaultInitialDirContextFactory.java +++ b/core/src/main/java/org/acegisecurity/providers/ldap/DefaultInitialDirContextFactory.java @@ -129,7 +129,7 @@ public class DefaultInitialDirContextFactory implements InitialDirContextFactory Assert.hasLength(url, "An LDAP connection URL must be supplied."); - if (url.startsWith("ldap:")) { + if (url.startsWith("ldap:") || url.startsWith("ldaps:")) { URI uri = LdapUtils.parseLdapUrl(url); diff --git a/core/src/test/java/org/acegisecurity/providers/ldap/DefaultInitialDirContextFactoryTests.java b/core/src/test/java/org/acegisecurity/providers/ldap/DefaultInitialDirContextFactoryTests.java index e4d9955590..a3974e5ea1 100644 --- a/core/src/test/java/org/acegisecurity/providers/ldap/DefaultInitialDirContextFactoryTests.java +++ b/core/src/test/java/org/acegisecurity/providers/ldap/DefaultInitialDirContextFactoryTests.java @@ -40,6 +40,12 @@ public class DefaultInitialDirContextFactoryTests extends AbstractLdapServerTest } + public void testSecureLdapUrlIsSupported() { + idf = new DefaultInitialDirContextFactory("ldaps://localhost/dc=acegisecurity,dc=org"); + assertEquals("dc=acegisecurity,dc=org", idf.getRootDn()); + } + + public void testConnectionFailure() throws Exception { // Use the wrong port idf = new DefaultInitialDirContextFactory("ldap://localhost:60389");