Commit 8cdb6ab9 authored by Patrick Dowler's avatar Patrick Dowler
Browse files

perform encoding of userID in path for USerClient and /users resource

parent 8a35284e
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -70,7 +70,6 @@ package ca.nrc.cadc.ac.server.web.groups;

import java.io.IOException;
import java.net.URL;
import java.net.URLDecoder;

import javax.servlet.http.HttpServletRequest;

@@ -78,7 +77,6 @@ import ca.nrc.cadc.net.NetUtil;
import org.apache.log4j.Logger;

import ca.nrc.cadc.ac.server.web.WebUtil;
import ca.nrc.cadc.util.StringUtil;

/**
 * This class provides static methods for each of the http methods for
+6 −4
Original line number Diff line number Diff line
@@ -75,6 +75,7 @@ import ca.nrc.cadc.auth.HttpPrincipal;
import ca.nrc.cadc.auth.IdentityType;
import ca.nrc.cadc.auth.NumericPrincipal;
import ca.nrc.cadc.auth.OpenIdPrincipal;
import ca.nrc.cadc.net.NetUtil;
import org.apache.log4j.Logger;

import javax.security.auth.x500.X500Principal;
@@ -110,7 +111,8 @@ public abstract class UserActionFactory
                }
                else if (segments.length == 1)
                {
                    User user = getUser(segments[0], request.getParameter("idType"), path);
                    String userID = NetUtil.decode(segments[0]);
                    User user = getUser(userID, request.getParameter("idType"));
                    action = new GetUserAction(user.getUserID(), request.getParameter("detail"));
                }

@@ -198,7 +200,8 @@ public abstract class UserActionFactory

                if (segments.length == 1)
                {
                    User user = getUser(segments[0], request.getParameter("idType"), path);
                    String userID = NetUtil.decode(segments[0]);
                    User user = getUser(userID, request.getParameter("idType"));
                    action = new DeleteUserAction(user.getUserID());
                }

@@ -227,8 +230,7 @@ public abstract class UserActionFactory
    }

    private static User<? extends Principal> getUser(final String userName,
                                                     final String idType,
                                                     final String path)
                                                     final String idType)
    {
        if (idType == null || idType.isEmpty())
        {
+2 −1
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ import org.apache.log4j.Logger;
import ca.nrc.cadc.ac.xml.UserReader;
import ca.nrc.cadc.auth.AuthenticationUtil;
import ca.nrc.cadc.net.HttpDownload;
import ca.nrc.cadc.net.NetUtil;


/**
@@ -211,7 +212,7 @@ public class UserClient
		try
		{
		    String userID = principal.getName();
			URL url = new URL(this.baseURL + "/users/" + userID +
			URL url = new URL(this.baseURL + "/users/" + NetUtil.encode(userID) +
					"?idType=" + this.getIdType(principal) + "&detail=identity");
			log.debug("getURL(): returned url ="
					+ ""