Loading projects/cadcAccessControl-Server/build.xml +1 −1 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ <pathelement path="${jars}:${testingJars}"/> </classpath> <sysproperty key="ca.nrc.cadc.util.PropertiesReader.dir" value="test"/> <test name="ca.nrc.cadc.ac.server.web.users.ModifyUserActionTest" /> <test name="ca.nrc.cadc.ac.server.ldap.LdapUserDAOTest" /> <formatter type="plain" usefile="false" /> </junit> </target> Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAO.java +4 −10 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ import java.util.Set; import javax.security.auth.x500.X500Principal; import ca.nrc.cadc.auth.DNPrincipal; import com.unboundid.ldap.sdk.DeleteRequest; import com.unboundid.ldap.sdk.ModifyDNRequest; import org.apache.log4j.Logger; Loading Loading @@ -682,7 +683,7 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO try { ModifyDNRequest modifyDNRequest = new ModifyDNRequest(dn, uid, false, config.getUsersDN()); new ModifyDNRequest(dn, uid, true, config.getUsersDN()); LdapDAO.checkLdapResult(getConnection().modifyDN(modifyDNRequest).getResultCode()); } Loading Loading @@ -841,15 +842,8 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO try { DN userDN = getUserDN(userID.getName(), usersDN); List<Modification> modifs = new ArrayList<Modification>(); modifs.add(new Modification(ModificationType.ADD, LDAP_NSACCOUNTLOCK, "true")); ModifyRequest modifyRequest = new ModifyRequest(userDN, modifs); modifyRequest.addControl( new ProxiedAuthorizationV2RequestControl( "dn:" + getSubjectDN().toNormalizedString())); LDAPResult result = getConnection().modify(modifyRequest); DeleteRequest deleteRequest = new DeleteRequest(userDN); LDAPResult result = getConnection().delete(deleteRequest); LdapDAO.checkLdapResult(result.getResultCode()); } catch (LDAPException e1) Loading projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAOTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ import java.util.Random; import javax.security.auth.Subject; import javax.security.auth.x500.X500Principal; import ca.nrc.cadc.ac.UserNotFoundException; import ca.nrc.cadc.auth.DNPrincipal; import org.apache.log4j.Level; import org.apache.log4j.Logger; Loading Loading @@ -378,6 +379,18 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest assertNotNull(actual); assertEquals(expected.getUserID(), actual.getUserID()); User<Principal> newUser = userDAO.getUser(userRequest.getUser().getUserID()); assertNotNull(newUser); assertEquals(expected.getUserID(), newUser.getUserID()); try { userDAO.getPendingUser(userRequest.getUser().getUserID()); fail("approved user " + userRequest.getUser().getUserID() + " found in pending user tree"); } catch (UserNotFoundException ignore) {} return null; } catch (Exception e) Loading Loading
projects/cadcAccessControl-Server/build.xml +1 −1 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ <pathelement path="${jars}:${testingJars}"/> </classpath> <sysproperty key="ca.nrc.cadc.util.PropertiesReader.dir" value="test"/> <test name="ca.nrc.cadc.ac.server.web.users.ModifyUserActionTest" /> <test name="ca.nrc.cadc.ac.server.ldap.LdapUserDAOTest" /> <formatter type="plain" usefile="false" /> </junit> </target> Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAO.java +4 −10 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ import java.util.Set; import javax.security.auth.x500.X500Principal; import ca.nrc.cadc.auth.DNPrincipal; import com.unboundid.ldap.sdk.DeleteRequest; import com.unboundid.ldap.sdk.ModifyDNRequest; import org.apache.log4j.Logger; Loading Loading @@ -682,7 +683,7 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO try { ModifyDNRequest modifyDNRequest = new ModifyDNRequest(dn, uid, false, config.getUsersDN()); new ModifyDNRequest(dn, uid, true, config.getUsersDN()); LdapDAO.checkLdapResult(getConnection().modifyDN(modifyDNRequest).getResultCode()); } Loading Loading @@ -841,15 +842,8 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO try { DN userDN = getUserDN(userID.getName(), usersDN); List<Modification> modifs = new ArrayList<Modification>(); modifs.add(new Modification(ModificationType.ADD, LDAP_NSACCOUNTLOCK, "true")); ModifyRequest modifyRequest = new ModifyRequest(userDN, modifs); modifyRequest.addControl( new ProxiedAuthorizationV2RequestControl( "dn:" + getSubjectDN().toNormalizedString())); LDAPResult result = getConnection().modify(modifyRequest); DeleteRequest deleteRequest = new DeleteRequest(userDN); LDAPResult result = getConnection().delete(deleteRequest); LdapDAO.checkLdapResult(result.getResultCode()); } catch (LDAPException e1) Loading
projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAOTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ import java.util.Random; import javax.security.auth.Subject; import javax.security.auth.x500.X500Principal; import ca.nrc.cadc.ac.UserNotFoundException; import ca.nrc.cadc.auth.DNPrincipal; import org.apache.log4j.Level; import org.apache.log4j.Logger; Loading Loading @@ -378,6 +379,18 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest assertNotNull(actual); assertEquals(expected.getUserID(), actual.getUserID()); User<Principal> newUser = userDAO.getUser(userRequest.getUser().getUserID()); assertNotNull(newUser); assertEquals(expected.getUserID(), newUser.getUserID()); try { userDAO.getPendingUser(userRequest.getUser().getUserID()); fail("approved user " + userRequest.getUser().getUserID() + " found in pending user tree"); } catch (UserNotFoundException ignore) {} return null; } catch (Exception e) Loading