Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/LoginServlet.java +6 −6 Original line number Diff line number Diff line Loading @@ -102,7 +102,7 @@ public class LoginServlet extends HttpServlet private static final Logger log = Logger.getLogger(LoginServlet.class); private static final String CONTENT_TYPE = "text/plain"; // " as " - delimiter use for proxy user authentication public static final String PROXY_USER_DELIM = "(.*)/s[aA][sS]/s(.*"; public static final String PROXY_USER_DELIM = "\\s[aA][sS]\\s"; String proxyGroup; // only users in this group can impersonate other users String nonImpersonGroup; // users in this group cannot be impersonated Loading Loading @@ -140,13 +140,13 @@ public class LoginServlet extends HttpServlet try { log.info(logInfo.start()); String userID = request.getParameter("username"); String userID = request.getParameter("username").trim(); String proxyUser = null; if (userID.contains(PROXY_USER_DELIM)) { String[] fields = userID.split(PROXY_USER_DELIM); proxyUser = fields[0]; userID = fields[1]; if (fields.length == 2 ) { proxyUser = fields[0].trim(); userID = fields[1].trim(); checkCanImpersonate(userID, proxyUser); } String password = request.getParameter("password"); Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java +5 −3 Original line number Diff line number Diff line Loading @@ -126,7 +126,7 @@ public class WhoAmIServlet extends HttpServlet else { redirect(response, currentWebPrincipals.toArray( new HttpPrincipal[1])[0]); new HttpPrincipal[1])[0], request.getScheme()); } } catch (IllegalArgumentException e) Loading Loading @@ -155,14 +155,16 @@ public class WhoAmIServlet extends HttpServlet * * @param response The HTTP response. * @param webPrincipal The HttpPrincipal instance. * @param scheme The scheme */ void redirect(final HttpServletResponse response, final HttpPrincipal webPrincipal) throws IOException final HttpPrincipal webPrincipal, final String scheme) throws IOException { final RegistryClient registryClient = getRegistryClient(); final URL redirectURL = registryClient.getServiceURL( URI.create(AC.GMS_SERVICE_URI), "https", USER_GET_PATH); URI.create(AC.GMS_SERVICE_URI), scheme, USER_GET_PATH); // Take the first one. final String redirectUrl = Loading projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/users/UserLoginServletTest.java→projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/UserLoginServletTest.java +4 −4 Original line number Diff line number Diff line package ca.nrc.cadc.ac.server.web.users; package ca.nrc.cadc.ac.server.web; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.security.AccessControlException; import java.util.Collection; Loading @@ -13,9 +16,6 @@ import ca.nrc.cadc.ac.server.GroupDetailSelector; import ca.nrc.cadc.ac.server.ldap.LdapGroupPersistence; import ca.nrc.cadc.auth.HttpPrincipal; import static org.junit.Assert.fail; import static org.junit.Assert.assertTrue; public class UserLoginServletTest { @Test Loading projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java +3 −2 Original line number Diff line number Diff line Loading @@ -122,13 +122,14 @@ public class WhoAmIServletTest expect(mockRequest.getPathInfo()).andReturn("users/CADCtest").once(); expect(mockRequest.getMethod()).andReturn("GET").once(); expect(mockRequest.getRemoteAddr()).andReturn("mysite.com").once(); expect(mockRequest.getScheme()).andReturn("http"); mockResponse.sendRedirect("https://mysite.com/ac/users/CADCtest?idType=HTTP"); mockResponse.sendRedirect("http://mysite.com/ac/users/CADCtest?idType=HTTP"); expectLastCall().once(); expect(mockRegistry.getServiceURL(URI.create(AC.GMS_SERVICE_URI), "http", "/users/%s?idType=HTTP")). andReturn(new URL("https://mysite.com/ac/users/CADCtest?idType=HTTP")).once(); andReturn(new URL("http://mysite.com/ac/users/CADCtest?idType=HTTP")).once(); replay(mockRequest, mockResponse, mockRegistry); Loading Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/LoginServlet.java +6 −6 Original line number Diff line number Diff line Loading @@ -102,7 +102,7 @@ public class LoginServlet extends HttpServlet private static final Logger log = Logger.getLogger(LoginServlet.class); private static final String CONTENT_TYPE = "text/plain"; // " as " - delimiter use for proxy user authentication public static final String PROXY_USER_DELIM = "(.*)/s[aA][sS]/s(.*"; public static final String PROXY_USER_DELIM = "\\s[aA][sS]\\s"; String proxyGroup; // only users in this group can impersonate other users String nonImpersonGroup; // users in this group cannot be impersonated Loading Loading @@ -140,13 +140,13 @@ public class LoginServlet extends HttpServlet try { log.info(logInfo.start()); String userID = request.getParameter("username"); String userID = request.getParameter("username").trim(); String proxyUser = null; if (userID.contains(PROXY_USER_DELIM)) { String[] fields = userID.split(PROXY_USER_DELIM); proxyUser = fields[0]; userID = fields[1]; if (fields.length == 2 ) { proxyUser = fields[0].trim(); userID = fields[1].trim(); checkCanImpersonate(userID, proxyUser); } String password = request.getParameter("password"); Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java +5 −3 Original line number Diff line number Diff line Loading @@ -126,7 +126,7 @@ public class WhoAmIServlet extends HttpServlet else { redirect(response, currentWebPrincipals.toArray( new HttpPrincipal[1])[0]); new HttpPrincipal[1])[0], request.getScheme()); } } catch (IllegalArgumentException e) Loading Loading @@ -155,14 +155,16 @@ public class WhoAmIServlet extends HttpServlet * * @param response The HTTP response. * @param webPrincipal The HttpPrincipal instance. * @param scheme The scheme */ void redirect(final HttpServletResponse response, final HttpPrincipal webPrincipal) throws IOException final HttpPrincipal webPrincipal, final String scheme) throws IOException { final RegistryClient registryClient = getRegistryClient(); final URL redirectURL = registryClient.getServiceURL( URI.create(AC.GMS_SERVICE_URI), "https", USER_GET_PATH); URI.create(AC.GMS_SERVICE_URI), scheme, USER_GET_PATH); // Take the first one. final String redirectUrl = Loading
projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/users/UserLoginServletTest.java→projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/UserLoginServletTest.java +4 −4 Original line number Diff line number Diff line package ca.nrc.cadc.ac.server.web.users; package ca.nrc.cadc.ac.server.web; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.security.AccessControlException; import java.util.Collection; Loading @@ -13,9 +16,6 @@ import ca.nrc.cadc.ac.server.GroupDetailSelector; import ca.nrc.cadc.ac.server.ldap.LdapGroupPersistence; import ca.nrc.cadc.auth.HttpPrincipal; import static org.junit.Assert.fail; import static org.junit.Assert.assertTrue; public class UserLoginServletTest { @Test Loading
projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java +3 −2 Original line number Diff line number Diff line Loading @@ -122,13 +122,14 @@ public class WhoAmIServletTest expect(mockRequest.getPathInfo()).andReturn("users/CADCtest").once(); expect(mockRequest.getMethod()).andReturn("GET").once(); expect(mockRequest.getRemoteAddr()).andReturn("mysite.com").once(); expect(mockRequest.getScheme()).andReturn("http"); mockResponse.sendRedirect("https://mysite.com/ac/users/CADCtest?idType=HTTP"); mockResponse.sendRedirect("http://mysite.com/ac/users/CADCtest?idType=HTTP"); expectLastCall().once(); expect(mockRegistry.getServiceURL(URI.create(AC.GMS_SERVICE_URI), "http", "/users/%s?idType=HTTP")). andReturn(new URL("https://mysite.com/ac/users/CADCtest?idType=HTTP")).once(); andReturn(new URL("http://mysite.com/ac/users/CADCtest?idType=HTTP")).once(); replay(mockRequest, mockResponse, mockRegistry); Loading