From 2a89ce6123a0cb8c21f5e67fe0ead47524b8075b Mon Sep 17 00:00:00 2001
From: Adrian Damian <Adrian.Damian@nrc.ca>
Date: Thu, 20 Aug 2015 16:55:19 -0700
Subject: [PATCH] Small fix for numeric id - take 4

---
 .../src/ca/nrc/cadc/ac/server/ldap/LdapDAO.java        | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapDAO.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapDAO.java
index c30d3794..902bb9ca 100755
--- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapDAO.java
+++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapDAO.java
@@ -181,17 +181,17 @@ public abstract class LdapDAO
             {
                 if (p instanceof HttpPrincipal)
                 {
-                    ldapField = "(uid=" + p.getName() + ")";
+                    ldapField = "(&(objectclass=inetorgperson)(uid=" + p.getName() + "))";
                     break;
                 }
                 if (p instanceof NumericPrincipal)
                 {
-                    ldapField = "(numericid=" + p.getName() + ")";
+                    ldapField = "(&(objectclass=cadcaccount)(numericid=" + p.getName() + "))";
                     break;
                 }
                 if (p instanceof X500Principal)
                 {
-                    ldapField = "(distinguishedname=" + p.getName() + ")";
+                    ldapField = "(&(objectclass=cadcaccount)(distinguishedname=" + p.getName() + "))";
                     break;
                 }
                 if (p instanceof OpenIdPrincipal)
@@ -208,9 +208,7 @@ public abstract class LdapDAO
 
             SearchResult searchResult =
                     getConnection().search(config.getUsersDN(), SearchScope.ONE,
-                            "(&(objectclass=cadcaccount)(objectclass=inetorgperson)" 
-                            + ldapField + ")", 
-                            "entrydn");
+                            ldapField, "entrydn");
 
             if (searchResult.getEntryCount() < 1)
             {
-- 
GitLab