Loading projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/ApproveUser.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -137,7 +137,8 @@ public class ApproveUser extends AbstractUserCommand user.getIdentities().add(dnPrincipal); user.getIdentities().add(dnPrincipal); this.getUserPersistence().modifyUser(user); this.getUserPersistence().modifyUser(user); this.systemOut.println("User " + this.getPrincipal().getName() + " now has DN " + dn); String noWhiteSpaceDN = dn.replaceAll("\\s",""); this.systemOut.println("User " + this.getPrincipal().getName() + " now has DN " + noWhiteSpaceDN); this.printUser(user); this.printUser(user); } } Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAO.java +14 −0 Original line number Original line Diff line number Diff line Loading @@ -73,6 +73,7 @@ import java.security.Principal; import java.util.ArrayList; import java.util.ArrayList; import java.util.Collection; import java.util.Collection; import java.util.HashMap; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.List; import java.util.Map; import java.util.Map; import java.util.Random; import java.util.Random; Loading Loading @@ -768,6 +769,19 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO } } } } // set the x500 DNs if there Set<X500Principal> x500Principals = userID.getIdentities(X500Principal.class); if (x500Principals != null && !x500Principals.isEmpty()) { Iterator<X500Principal> i = x500Principals.iterator(); X500Principal next = null; while (i.hasNext()) { next = i.next(); addModification(mods, LDAP_DISTINGUISHED_NAME, next.getName()); } } try try { { ModifyRequest modifyRequest = new ModifyRequest(getUserDN(userID), mods); ModifyRequest modifyRequest = new ModifyRequest(getUserDN(userID), mods); Loading projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAOTest.java +6 −3 Original line number Original line Diff line number Diff line Loading @@ -83,8 +83,6 @@ import java.util.Random; import javax.security.auth.Subject; import javax.security.auth.Subject; import javax.security.auth.x500.X500Principal; 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.Level; import org.apache.log4j.Logger; import org.apache.log4j.Logger; import org.junit.BeforeClass; import org.junit.BeforeClass; Loading @@ -93,7 +91,9 @@ import org.junit.Test; import ca.nrc.cadc.ac.PersonalDetails; import ca.nrc.cadc.ac.PersonalDetails; import ca.nrc.cadc.ac.User; import ca.nrc.cadc.ac.User; import ca.nrc.cadc.ac.UserDetails; import ca.nrc.cadc.ac.UserDetails; import ca.nrc.cadc.ac.UserNotFoundException; import ca.nrc.cadc.ac.UserRequest; import ca.nrc.cadc.ac.UserRequest; import ca.nrc.cadc.auth.DNPrincipal; import ca.nrc.cadc.auth.HttpPrincipal; import ca.nrc.cadc.auth.HttpPrincipal; import ca.nrc.cadc.auth.NumericPrincipal; import ca.nrc.cadc.auth.NumericPrincipal; import ca.nrc.cadc.util.Log4jInit; import ca.nrc.cadc.util.Log4jInit; Loading Loading @@ -414,7 +414,7 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest HttpPrincipal principal = new HttpPrincipal(username); HttpPrincipal principal = new HttpPrincipal(username); testUser2 = new User<HttpPrincipal>(principal); testUser2 = new User<HttpPrincipal>(principal); testUser2.getIdentities().add(principal); testUser2.getIdentities().add(principal); testUser2.getIdentities().add(new X500Principal("cn=" + username + ",ou=cadc,o=hia,c=ca")); // update nextNumericId // update nextNumericId nextUserNumericID = ran.nextInt(Integer.MAX_VALUE); nextUserNumericID = ran.nextInt(Integer.MAX_VALUE); testUser2.getIdentities().add(new NumericPrincipal(nextUserNumericID)); testUser2.getIdentities().add(new NumericPrincipal(nextUserNumericID)); Loading Loading @@ -458,6 +458,9 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest } } } } // add a DN testUser2.getIdentities().add(new X500Principal("cn=" + username + ",ou=cadc,o=hia,c=ca")); // update the user // update the user subject.getPrincipals().add(testUser2.getUserID()); subject.getPrincipals().add(testUser2.getUserID()); subject.getPrincipals().add(testUser2DNPrincipal); subject.getPrincipals().add(testUser2DNPrincipal); Loading Loading
projects/cadcAccessControl-Admin/src/ca/nrc/cadc/ac/admin/ApproveUser.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -137,7 +137,8 @@ public class ApproveUser extends AbstractUserCommand user.getIdentities().add(dnPrincipal); user.getIdentities().add(dnPrincipal); this.getUserPersistence().modifyUser(user); this.getUserPersistence().modifyUser(user); this.systemOut.println("User " + this.getPrincipal().getName() + " now has DN " + dn); String noWhiteSpaceDN = dn.replaceAll("\\s",""); this.systemOut.println("User " + this.getPrincipal().getName() + " now has DN " + noWhiteSpaceDN); this.printUser(user); this.printUser(user); } } Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAO.java +14 −0 Original line number Original line Diff line number Diff line Loading @@ -73,6 +73,7 @@ import java.security.Principal; import java.util.ArrayList; import java.util.ArrayList; import java.util.Collection; import java.util.Collection; import java.util.HashMap; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.List; import java.util.Map; import java.util.Map; import java.util.Random; import java.util.Random; Loading Loading @@ -768,6 +769,19 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO } } } } // set the x500 DNs if there Set<X500Principal> x500Principals = userID.getIdentities(X500Principal.class); if (x500Principals != null && !x500Principals.isEmpty()) { Iterator<X500Principal> i = x500Principals.iterator(); X500Principal next = null; while (i.hasNext()) { next = i.next(); addModification(mods, LDAP_DISTINGUISHED_NAME, next.getName()); } } try try { { ModifyRequest modifyRequest = new ModifyRequest(getUserDN(userID), mods); ModifyRequest modifyRequest = new ModifyRequest(getUserDN(userID), mods); Loading
projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAOTest.java +6 −3 Original line number Original line Diff line number Diff line Loading @@ -83,8 +83,6 @@ import java.util.Random; import javax.security.auth.Subject; import javax.security.auth.Subject; import javax.security.auth.x500.X500Principal; 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.Level; import org.apache.log4j.Logger; import org.apache.log4j.Logger; import org.junit.BeforeClass; import org.junit.BeforeClass; Loading @@ -93,7 +91,9 @@ import org.junit.Test; import ca.nrc.cadc.ac.PersonalDetails; import ca.nrc.cadc.ac.PersonalDetails; import ca.nrc.cadc.ac.User; import ca.nrc.cadc.ac.User; import ca.nrc.cadc.ac.UserDetails; import ca.nrc.cadc.ac.UserDetails; import ca.nrc.cadc.ac.UserNotFoundException; import ca.nrc.cadc.ac.UserRequest; import ca.nrc.cadc.ac.UserRequest; import ca.nrc.cadc.auth.DNPrincipal; import ca.nrc.cadc.auth.HttpPrincipal; import ca.nrc.cadc.auth.HttpPrincipal; import ca.nrc.cadc.auth.NumericPrincipal; import ca.nrc.cadc.auth.NumericPrincipal; import ca.nrc.cadc.util.Log4jInit; import ca.nrc.cadc.util.Log4jInit; Loading Loading @@ -414,7 +414,7 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest HttpPrincipal principal = new HttpPrincipal(username); HttpPrincipal principal = new HttpPrincipal(username); testUser2 = new User<HttpPrincipal>(principal); testUser2 = new User<HttpPrincipal>(principal); testUser2.getIdentities().add(principal); testUser2.getIdentities().add(principal); testUser2.getIdentities().add(new X500Principal("cn=" + username + ",ou=cadc,o=hia,c=ca")); // update nextNumericId // update nextNumericId nextUserNumericID = ran.nextInt(Integer.MAX_VALUE); nextUserNumericID = ran.nextInt(Integer.MAX_VALUE); testUser2.getIdentities().add(new NumericPrincipal(nextUserNumericID)); testUser2.getIdentities().add(new NumericPrincipal(nextUserNumericID)); Loading Loading @@ -458,6 +458,9 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest } } } } // add a DN testUser2.getIdentities().add(new X500Principal("cn=" + username + ",ou=cadc,o=hia,c=ca")); // update the user // update the user subject.getPrincipals().add(testUser2.getUserID()); subject.getPrincipals().add(testUser2.getUserID()); subject.getPrincipals().add(testUser2DNPrincipal); subject.getPrincipals().add(testUser2DNPrincipal); Loading