Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapConfig.java +28 −12 Original line number Diff line number Diff line Loading @@ -86,9 +86,11 @@ public class LdapConfig public static final String LDAP_PASSWD = "passwd"; public static final String LDAP_USERS_DN = "usersDn"; public static final String LDAP_GROUPS_DN = "groupsDn"; public static final String LDAP_ADMIN_GROUPS_DN = "adminGroupsDn"; private String usersDN; private String groupsDN; private String adminGroupsDN; private String server; private int port; private String adminUserDN; Loading Loading @@ -157,17 +159,25 @@ public class LdapConfig LDAP_GROUPS_DN); } String ldapAdminGroupsDn = config.getProperty(LDAP_ADMIN_GROUPS_DN); if (!StringUtil.hasText(ldapAdminGroupsDn)) { throw new RuntimeException("failed to read property " + LDAP_ADMIN_GROUPS_DN); } return new LdapConfig(server, Integer.valueOf(port), ldapAdmin, ldapPasswd, ldapUsersDn, ldapGroupsDn); ldapPasswd, ldapUsersDn, ldapGroupsDn, ldapAdminGroupsDn); } public LdapConfig(String server, int port, String adminUserDN, String adminPasswd, String usersDN, String groupsDN) String adminPasswd, String usersDN, String groupsDN, String adminGroupsDN) { if (!StringUtil.hasText(server)) { throw new IllegalArgumentException("Illegal LDAP server name: " + server); throw new IllegalArgumentException("Illegal LDAP server name"); } if (port < 0) { Loading @@ -176,23 +186,23 @@ public class LdapConfig } if (!StringUtil.hasText(adminUserDN)) { throw new IllegalArgumentException("Illegal Admin DN: " + adminUserDN); throw new IllegalArgumentException("Illegal Admin DN"); } if (!StringUtil.hasText(adminPasswd)) { throw new IllegalArgumentException("Illegal Admin password: " + adminPasswd); throw new IllegalArgumentException("Illegal Admin password"); } if (!StringUtil.hasText(usersDN)) { throw new IllegalArgumentException("Illegal users LDAP DN: " + usersDN); throw new IllegalArgumentException("Illegal users LDAP DN"); } if (!StringUtil.hasText(groupsDN)) { throw new IllegalArgumentException("Illegal groups LDAP DN: " + groupsDN); throw new IllegalArgumentException("Illegal groups LDAP DN"); } if (!StringUtil.hasText(adminGroupsDN)) { throw new IllegalArgumentException("Illegal admin groups LDAP DN"); } this.server = server; Loading @@ -201,6 +211,7 @@ public class LdapConfig this.adminPasswd = adminPasswd; this.usersDN = usersDN; this.groupsDN = groupsDN; this.adminGroupsDN = adminGroupsDN; } public String getUsersDN() Loading @@ -213,6 +224,11 @@ public class LdapConfig return this.groupsDN; } public String getAdminGroupsDN() { return this.adminGroupsDN; } public String getServer() { return this.server; Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java +297 −297 File changed.Preview size limit exceeded, changes collapsed. Show changes projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapDAOTest.java +4 −3 Original line number Diff line number Diff line Loading @@ -89,10 +89,11 @@ public class LdapDAOTest static int port = 389; static String adminDN = "uid=webproxy,ou=WebProxy,ou=topologymanagement,o=netscaperoot"; static String adminPW = "go4it"; static String userBaseDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupBaseDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; static String usersDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupsDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; static String adminGroupsDN = "ou=adminGroups,ou=ds,dc=canfartest,dc=net"; LdapConfig config = new LdapConfig(server, port, adminDN, adminPW, userBaseDN, groupBaseDN); LdapConfig config = new LdapConfig(server, port, adminDN, adminPW, usersDN, groupsDN, adminGroupsDN); @Test public void testLdapBindConnection() throws Exception Loading projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java +8 −30 Original line number Diff line number Diff line Loading @@ -69,10 +69,11 @@ public class LdapGroupDAOTest static int port = 389; static String adminDN = "uid=webproxy,ou=webproxy,ou=topologymanagement,o=netscaperoot"; static String adminPW = "go4it"; static String userBaseDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupBaseDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; //static String userBaseDN = "ou=Users,ou=ds,dc=canfar,dc=net"; //static String groupBaseDN = "ou=Groups,ou=ds,dc=canfar,dc=net"; static String usersDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupsDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; static String adminGroupsDN = "ou=adminGroups,ou=ds,dc=canfartest,dc=net"; //static String usersDN = "ou=Users,ou=ds,dc=canfar,dc=net"; //static String groupsDN = "ou=Groups,ou=ds,dc=canfar,dc=net"; static String daoTestDN1 = "cn=cadcdaotest1,ou=cadc,o=hia,c=ca"; static String daoTestDN2 = "cn=cadcdaotest2,ou=cadc,o=hia,c=ca"; Loading Loading @@ -115,7 +116,7 @@ public class LdapGroupDAOTest anonSubject = new Subject(); anonSubject.getPrincipals().add(unknownUser.getUserID()); config = new LdapConfig(server, port, adminDN, adminPW, userBaseDN, groupBaseDN); config = new LdapConfig(server, port, adminDN, adminPW, usersDN, groupsDN, adminGroupsDN); } LdapGroupDAO<X500Principal> getGroupDAO() Loading Loading @@ -158,24 +159,6 @@ public class LdapGroupDAOTest actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // groupRead expectGroup.groupRead = otherGroup; actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); expectGroup.groupRead = null; actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // groupWrite expectGroup.groupWrite = otherGroup; actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); expectGroup.groupWrite = null; actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // userMembers expectGroup.getUserMembers().add(daoTestUser2); actualGroup = getGroupDAO().modifyGroup(expectGroup); Loading @@ -196,8 +179,6 @@ public class LdapGroupDAOTest // delete the group expectGroup.description = "Happy testing"; expectGroup.groupRead = otherGroup; expectGroup.groupWrite = otherGroup; expectGroup.getUserMembers().add(daoTestUser2); expectGroup.getGroupMembers().add(otherGroup); Loading Loading @@ -398,9 +379,9 @@ public class LdapGroupDAOTest { getGroupDAO().addGroup(new Group("foo", unknownUser)); fail("addGroup with unknown user should throw " + "UserNotFoundException"); "AccessControlException"); } catch (UserNotFoundException ignore) {} catch (AccessControlException ignore) {} Group group = getGroupDAO().addGroup(new Group(getGroupID(), daoTestUser1)); Loading Loading @@ -651,9 +632,6 @@ public class LdapGroupDAOTest { assertTrue(gr2.getUserMembers().contains(user)); } assertEquals(gr1.groupRead, gr2.groupRead); assertEquals(gr1.groupWrite, gr2.groupWrite); assertEquals(gr1.groupWrite, gr2.groupWrite); assertEquals(gr1.getProperties(), gr2.getProperties()); for (GroupProperty prop : gr1.getProperties()) { Loading projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAOTest.java +4 −3 Original line number Diff line number Diff line Loading @@ -96,8 +96,9 @@ public class LdapUserDAOTest static int port = 389; static String adminDN = "uid=webproxy,ou=Webproxy,ou=topologymanagement,o=netscaperoot"; static String adminPW = "go4it"; static String userBaseDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupBaseDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; static String usersDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupsDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; static String adminGroupsDN = "ou=adminGroups,ou=ds,dc=canfartest,dc=net"; // static String userBaseDN = "ou=Users,ou=ds,dc=canfar,dc=net"; // static String groupBaseDN = "ou=Groups,ou=ds,dc=canfar,dc=net"; Loading @@ -114,7 +115,7 @@ public class LdapUserDAOTest testUser = new User<X500Principal>(new X500Principal(testUserDN)); config = new LdapConfig(server, port, adminDN, adminPW, userBaseDN, groupBaseDN); config = new LdapConfig(server, port, adminDN, adminPW, usersDN, groupsDN, adminGroupsDN); } LdapUserDAO<X500Principal> getUserDAO() Loading Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapConfig.java +28 −12 Original line number Diff line number Diff line Loading @@ -86,9 +86,11 @@ public class LdapConfig public static final String LDAP_PASSWD = "passwd"; public static final String LDAP_USERS_DN = "usersDn"; public static final String LDAP_GROUPS_DN = "groupsDn"; public static final String LDAP_ADMIN_GROUPS_DN = "adminGroupsDn"; private String usersDN; private String groupsDN; private String adminGroupsDN; private String server; private int port; private String adminUserDN; Loading Loading @@ -157,17 +159,25 @@ public class LdapConfig LDAP_GROUPS_DN); } String ldapAdminGroupsDn = config.getProperty(LDAP_ADMIN_GROUPS_DN); if (!StringUtil.hasText(ldapAdminGroupsDn)) { throw new RuntimeException("failed to read property " + LDAP_ADMIN_GROUPS_DN); } return new LdapConfig(server, Integer.valueOf(port), ldapAdmin, ldapPasswd, ldapUsersDn, ldapGroupsDn); ldapPasswd, ldapUsersDn, ldapGroupsDn, ldapAdminGroupsDn); } public LdapConfig(String server, int port, String adminUserDN, String adminPasswd, String usersDN, String groupsDN) String adminPasswd, String usersDN, String groupsDN, String adminGroupsDN) { if (!StringUtil.hasText(server)) { throw new IllegalArgumentException("Illegal LDAP server name: " + server); throw new IllegalArgumentException("Illegal LDAP server name"); } if (port < 0) { Loading @@ -176,23 +186,23 @@ public class LdapConfig } if (!StringUtil.hasText(adminUserDN)) { throw new IllegalArgumentException("Illegal Admin DN: " + adminUserDN); throw new IllegalArgumentException("Illegal Admin DN"); } if (!StringUtil.hasText(adminPasswd)) { throw new IllegalArgumentException("Illegal Admin password: " + adminPasswd); throw new IllegalArgumentException("Illegal Admin password"); } if (!StringUtil.hasText(usersDN)) { throw new IllegalArgumentException("Illegal users LDAP DN: " + usersDN); throw new IllegalArgumentException("Illegal users LDAP DN"); } if (!StringUtil.hasText(groupsDN)) { throw new IllegalArgumentException("Illegal groups LDAP DN: " + groupsDN); throw new IllegalArgumentException("Illegal groups LDAP DN"); } if (!StringUtil.hasText(adminGroupsDN)) { throw new IllegalArgumentException("Illegal admin groups LDAP DN"); } this.server = server; Loading @@ -201,6 +211,7 @@ public class LdapConfig this.adminPasswd = adminPasswd; this.usersDN = usersDN; this.groupsDN = groupsDN; this.adminGroupsDN = adminGroupsDN; } public String getUsersDN() Loading @@ -213,6 +224,11 @@ public class LdapConfig return this.groupsDN; } public String getAdminGroupsDN() { return this.adminGroupsDN; } public String getServer() { return this.server; Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java +297 −297 File changed.Preview size limit exceeded, changes collapsed. Show changes
projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapDAOTest.java +4 −3 Original line number Diff line number Diff line Loading @@ -89,10 +89,11 @@ public class LdapDAOTest static int port = 389; static String adminDN = "uid=webproxy,ou=WebProxy,ou=topologymanagement,o=netscaperoot"; static String adminPW = "go4it"; static String userBaseDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupBaseDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; static String usersDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupsDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; static String adminGroupsDN = "ou=adminGroups,ou=ds,dc=canfartest,dc=net"; LdapConfig config = new LdapConfig(server, port, adminDN, adminPW, userBaseDN, groupBaseDN); LdapConfig config = new LdapConfig(server, port, adminDN, adminPW, usersDN, groupsDN, adminGroupsDN); @Test public void testLdapBindConnection() throws Exception Loading
projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java +8 −30 Original line number Diff line number Diff line Loading @@ -69,10 +69,11 @@ public class LdapGroupDAOTest static int port = 389; static String adminDN = "uid=webproxy,ou=webproxy,ou=topologymanagement,o=netscaperoot"; static String adminPW = "go4it"; static String userBaseDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupBaseDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; //static String userBaseDN = "ou=Users,ou=ds,dc=canfar,dc=net"; //static String groupBaseDN = "ou=Groups,ou=ds,dc=canfar,dc=net"; static String usersDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupsDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; static String adminGroupsDN = "ou=adminGroups,ou=ds,dc=canfartest,dc=net"; //static String usersDN = "ou=Users,ou=ds,dc=canfar,dc=net"; //static String groupsDN = "ou=Groups,ou=ds,dc=canfar,dc=net"; static String daoTestDN1 = "cn=cadcdaotest1,ou=cadc,o=hia,c=ca"; static String daoTestDN2 = "cn=cadcdaotest2,ou=cadc,o=hia,c=ca"; Loading Loading @@ -115,7 +116,7 @@ public class LdapGroupDAOTest anonSubject = new Subject(); anonSubject.getPrincipals().add(unknownUser.getUserID()); config = new LdapConfig(server, port, adminDN, adminPW, userBaseDN, groupBaseDN); config = new LdapConfig(server, port, adminDN, adminPW, usersDN, groupsDN, adminGroupsDN); } LdapGroupDAO<X500Principal> getGroupDAO() Loading Loading @@ -158,24 +159,6 @@ public class LdapGroupDAOTest actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // groupRead expectGroup.groupRead = otherGroup; actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); expectGroup.groupRead = null; actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // groupWrite expectGroup.groupWrite = otherGroup; actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); expectGroup.groupWrite = null; actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // userMembers expectGroup.getUserMembers().add(daoTestUser2); actualGroup = getGroupDAO().modifyGroup(expectGroup); Loading @@ -196,8 +179,6 @@ public class LdapGroupDAOTest // delete the group expectGroup.description = "Happy testing"; expectGroup.groupRead = otherGroup; expectGroup.groupWrite = otherGroup; expectGroup.getUserMembers().add(daoTestUser2); expectGroup.getGroupMembers().add(otherGroup); Loading Loading @@ -398,9 +379,9 @@ public class LdapGroupDAOTest { getGroupDAO().addGroup(new Group("foo", unknownUser)); fail("addGroup with unknown user should throw " + "UserNotFoundException"); "AccessControlException"); } catch (UserNotFoundException ignore) {} catch (AccessControlException ignore) {} Group group = getGroupDAO().addGroup(new Group(getGroupID(), daoTestUser1)); Loading Loading @@ -651,9 +632,6 @@ public class LdapGroupDAOTest { assertTrue(gr2.getUserMembers().contains(user)); } assertEquals(gr1.groupRead, gr2.groupRead); assertEquals(gr1.groupWrite, gr2.groupWrite); assertEquals(gr1.groupWrite, gr2.groupWrite); assertEquals(gr1.getProperties(), gr2.getProperties()); for (GroupProperty prop : gr1.getProperties()) { Loading
projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAOTest.java +4 −3 Original line number Diff line number Diff line Loading @@ -96,8 +96,9 @@ public class LdapUserDAOTest static int port = 389; static String adminDN = "uid=webproxy,ou=Webproxy,ou=topologymanagement,o=netscaperoot"; static String adminPW = "go4it"; static String userBaseDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupBaseDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; static String usersDN = "ou=Users,ou=ds,dc=canfartest,dc=net"; static String groupsDN = "ou=Groups,ou=ds,dc=canfartest,dc=net"; static String adminGroupsDN = "ou=adminGroups,ou=ds,dc=canfartest,dc=net"; // static String userBaseDN = "ou=Users,ou=ds,dc=canfar,dc=net"; // static String groupBaseDN = "ou=Groups,ou=ds,dc=canfar,dc=net"; Loading @@ -114,7 +115,7 @@ public class LdapUserDAOTest testUser = new User<X500Principal>(new X500Principal(testUserDN)); config = new LdapConfig(server, port, adminDN, adminPW, userBaseDN, groupBaseDN); config = new LdapConfig(server, port, adminDN, adminPW, usersDN, groupsDN, adminGroupsDN); } LdapUserDAO<X500Principal> getUserDAO() Loading