Browse Source

Close returned context in nameExists method

Luke Taylor 19 năm trước cách đây
mục cha
commit
67fcf426eb

+ 6 - 1
core/src/main/java/org/acegisecurity/ldap/LdapTemplate.java

@@ -27,6 +27,7 @@ import java.util.Set;
 import javax.naming.NameNotFoundException;
 import javax.naming.NamingEnumeration;
 import javax.naming.NamingException;
+import javax.naming.Context;
 import javax.naming.directory.Attribute;
 import javax.naming.directory.Attributes;
 import javax.naming.directory.DirContext;
@@ -135,7 +136,11 @@ public class LdapTemplate {
                     public Object doInDirContext(DirContext ctx)
                         throws NamingException {
                         try {
-                            ctx.lookup(LdapUtils.getRelativeName(dn, ctx));
+                            Object obj = ctx.lookup(LdapUtils.getRelativeName(dn, ctx));
+                            if (obj instanceof Context) {
+                                LdapUtils.closeContext((Context) obj);
+                            }
+
                         } catch (NameNotFoundException nnfe) {
                             return Boolean.FALSE;
                         }