Commit 0bc7947b authored by Jeff Burke's avatar Jeff Burke
Browse files

Merge branch 'ac2' of ssh://gimli2/srv/cadc/git/wopencadc into ac2

Conflicts:
	projects/cadcAccessControl-Server/test/LdapConfig.test.properties
	projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAOTest.java
parents 8363572b 6b2786a8
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -73,10 +73,7 @@ import java.security.Principal;
import java.util.Collection;
import java.util.Map;

import ca.nrc.cadc.ac.User;
import ca.nrc.cadc.ac.UserAlreadyExistsException;
import ca.nrc.cadc.ac.UserNotFoundException;
import ca.nrc.cadc.ac.UserRequest;
import ca.nrc.cadc.ac.*;
import ca.nrc.cadc.net.TransientException;

import com.unboundid.ldap.sdk.DN;
@@ -91,7 +88,7 @@ public interface UserPersistence<T extends Principal>
     * @throws TransientException If an temporary, unexpected problem occurred.
     * @throws AccessControlException If the operation is not permitted.
     */
    Map<String, String> getUsers()
    Map<String, PersonalDetails> getUsers()
            throws TransientException, AccessControlException;
    
    /**
+15 −8
Original line number Diff line number Diff line
@@ -488,15 +488,16 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO
     * @return A map of string keys to string values.
     * @throws TransientException If an temporary, unexpected problem occurred.
     */
    public Map<String, String> getUsers()
    public Map<String, PersonalDetails> getUsers()
            throws TransientException
    {
        final Map<String, String> users = new HashMap<String, String>();
        final Map<String, PersonalDetails> users =
                new HashMap<String, PersonalDetails>();

        try
        {
            final Filter filter = Filter.createPresenceFilter(LDAP_COMMON_NAME);
            final String[] attributes = new String[]{LDAP_COMMON_NAME,
            final Filter filter = Filter.createPresenceFilter(LDAP_UID);
            final String[] attributes = new String[]{LDAP_UID,
                                                     LDAP_FIRST_NAME,
                                                     LDAP_LAST_NAME,
                                                     LDAP_NSACCOUNTLOCK};
@@ -514,10 +515,16 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO
                {
                    if (!next.hasAttribute(LDAP_NSACCOUNTLOCK))
                    {
                        users.put(next.getAttributeValue(LDAP_COMMON_NAME),
                                  next.getAttributeValue(LDAP_FIRST_NAME)
                                  + " "
                                  + next.getAttributeValue(LDAP_LAST_NAME));
                        final String trimmedFirstName =
                                next.getAttributeValue(LDAP_FIRST_NAME).trim();
                        final String trimmedLastName =
                                next.getAttributeValue(LDAP_LAST_NAME).trim();
                        final String trimmedUID =
                                next.getAttributeValue(LDAP_UID).trim();

                        users.put(trimmedUID,
                                  new PersonalDetails(trimmedFirstName,
                                                      trimmedLastName));
                    }
                }
            }
+2 −5
Original line number Diff line number Diff line
@@ -68,10 +68,7 @@
 */
package ca.nrc.cadc.ac.server.ldap;

import ca.nrc.cadc.ac.User;
import ca.nrc.cadc.ac.UserAlreadyExistsException;
import ca.nrc.cadc.ac.UserNotFoundException;
import ca.nrc.cadc.ac.UserRequest;
import ca.nrc.cadc.ac.*;
import ca.nrc.cadc.ac.server.UserPersistence;
import ca.nrc.cadc.net.TransientException;
import com.unboundid.ldap.sdk.DN;
@@ -100,7 +97,7 @@ public class LdapUserPersistence<T extends Principal>
        }
    }
    
    public Map<String, String> getUsers()
    public Map<String, PersonalDetails> getUsers()
        throws TransientException, AccessControlException
    {
        LdapUserDAO<T> userDAO = null;
+2 −1
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ import java.util.Map;
import javax.security.auth.Subject;
import javax.servlet.http.HttpServletResponse;

import ca.nrc.cadc.ac.PersonalDetails;
import ca.nrc.cadc.ac.User;
import ca.nrc.cadc.ac.UserRequest;
import org.apache.log4j.Logger;
@@ -278,7 +279,7 @@ public abstract class UsersAction
     *
     * @param users         The Map of user IDs to names.
     */
    protected final void writeUsers(final Map<String, String> users)
    protected final void writeUsers(final Map<String, PersonalDetails> users)
            throws IOException
    {
        response.setContentType(acceptedContentType);
+6 −1
Original line number Diff line number Diff line
# This are the configuration fields required by the Ldap ldap-dao unit tests
# Tests are more accurate running on Port 636.  If it fails due to SSL/Security
# issues, then make very sure the ca.crt (gimli2.cadc.dao.nrc.ca:~miscsw/ca.crt)
# is installed in your Java Keystore:
# scp gimli2.cadc.dao.nrc.ca:~miscsw/ca.crt /tmp/ca.crt
# ${JAVA_HOME}/bin/keytool -importcert -keystore ${JAVA_HOME}/jre/lib/security/cacerts -file /tmp/ca.crt
server = proc5-03.cadc.dao.nrc.ca
port = 389
port = 636
proxyUser = testproxy
usersDn = ou=Users,ou=ds,dc=testcanfar
userRequestsDN = ou=UserRequests,ou=ds,dc=testcanfar
Loading