From b537af89db259d53a9618b66b7f004303706e17e Mon Sep 17 00:00:00 2001 From: Alinga Yeung <Alinga.Yeung@nrc-cnrc.gc.ca> Date: Mon, 25 Jul 2016 18:38:07 -0700 Subject: [PATCH] Story 1849. We now use Standard ID to look up the resourceIdentifier in LocalAuthority.properties. --- .../nrc/cadc/ac/server/ldap/LdapUserDAO.java | 5 +++-- .../nrc/cadc/ac/server/web/WhoAmIServlet.java | 2 +- .../cadc/ac/server/web/WhoAmIServletTest.java | 18 ++++++++++++++++-- .../web/groups/RemoveUserMemberActionTest.java | 5 +++-- .../nrc/cadc/ac/xml/AbstractReaderWriter.java | 3 ++- .../ca/nrc/cadc/ac/client/UserClientTest.java | 3 ++- cadcTomcat/build.xml | 2 +- .../cadc/tomcat/CadcBasicAuthenticator.java | 4 +++- 8 files changed, 31 insertions(+), 11 deletions(-) diff --git a/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAO.java b/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAO.java index 24d3e033..bc9cb5d9 100755 --- a/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAO.java +++ b/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAO.java @@ -100,6 +100,7 @@ import ca.nrc.cadc.auth.HttpPrincipal; import ca.nrc.cadc.auth.NumericPrincipal; import ca.nrc.cadc.net.TransientException; import ca.nrc.cadc.profiler.Profiler; +import ca.nrc.cadc.reg.Standards; import ca.nrc.cadc.reg.client.LocalAuthority; import ca.nrc.cadc.util.ObjectUtil; import ca.nrc.cadc.util.StringUtil; @@ -739,7 +740,7 @@ public class LdapUserDAO extends LdapDAO // cache memberOf values in the user LocalAuthority localAuthority = new LocalAuthority(); - URI gmsServiceURI = localAuthority.getServiceURI("ac"); + URI gmsServiceURI = localAuthority.getServiceURI(Standards.GMS_GROUPS_01.toString()); GroupMemberships gms = new GroupMemberships(gmsServiceURI.toString(), userID); user.appData = gms; // add even if empty @@ -1277,7 +1278,7 @@ public class LdapUserDAO extends LdapDAO { UUID uuid = new UUID(0L, Long.parseLong(numericID)); LocalAuthority localAuthority = new LocalAuthority(); - URI umsServiceURI = localAuthority.getServiceURI("ac"); + URI umsServiceURI = localAuthority.getServiceURI(Standards.UMS_REQS_01.toString()); String uriString = umsServiceURI.toString() + "?" + uuid.toString(); URI uri; try diff --git a/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java b/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java index 4bfcbc41..bbd0aee0 100644 --- a/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java +++ b/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java @@ -168,7 +168,7 @@ public class WhoAmIServlet extends HttpServlet final RegistryClient registryClient = getRegistryClient(); LocalAuthority localAuthority = new LocalAuthority(); - URI umsServiceURI = localAuthority.getServiceURI("ac"); + URI umsServiceURI = localAuthority.getServiceURI(Standards.UMS_WHOAMI_01.toString()); log.debug("ums service uri: " + umsServiceURI); final URL serviceURL = registryClient.getServiceURL(umsServiceURI, Standards.UMS_USERS_01, AuthMethod.CERT); diff --git a/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java b/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java index 86402ceb..ff7df8eb 100644 --- a/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java +++ b/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java @@ -82,17 +82,31 @@ import javax.security.auth.Subject; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import ca.nrc.cadc.ac.server.web.groups.AddUserMemberActionTest; import ca.nrc.cadc.auth.AuthMethod; import ca.nrc.cadc.reg.Standards; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.BeforeClass; import org.junit.Test; import ca.nrc.cadc.auth.HttpPrincipal; import ca.nrc.cadc.reg.client.LocalAuthority; import ca.nrc.cadc.reg.client.RegistryClient; +import ca.nrc.cadc.util.Log4jInit; public class WhoAmIServletTest { + private final static Logger log = Logger.getLogger(WhoAmIServletTest.class); + + @BeforeClass + public static void setUpClass() + { + Log4jInit.setLevel("ca.nrc.cadc.ac", Level.INFO); + } + @Test public void doGet() throws Exception { @@ -135,13 +149,13 @@ public class WhoAmIServletTest expectLastCall().once(); LocalAuthority localAuthority = new LocalAuthority(); - URI umsServiceURI = localAuthority.getServiceURI("ac"); + URI umsServiceURI = localAuthority.getServiceURI(Standards.UMS_WHOAMI_01.toString()); // expect(mockRegistry.getServiceURL(URI.create(umsServiceURI.toString() + "#users"), // "http", "/%s?idType=HTTP")). // andReturn(new URL("http://mysite.com/ac/users/CADCtest?idType=HTTP")).once(); - expect(mockRegistry.getServiceURL(umsServiceURI, Standards.UMS_USERS_01, AuthMethod.PASSWORD)) + expect(mockRegistry.getServiceURL(umsServiceURI, Standards.UMS_USERS_01, AuthMethod.CERT)) .andReturn(new URL("http://mysite.com/ac/users")).once(); replay(mockRequest, mockResponse, mockRegistry); diff --git a/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/groups/RemoveUserMemberActionTest.java b/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/groups/RemoveUserMemberActionTest.java index 0b7cfeed..5647059b 100644 --- a/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/groups/RemoveUserMemberActionTest.java +++ b/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/groups/RemoveUserMemberActionTest.java @@ -92,6 +92,7 @@ import ca.nrc.cadc.ac.server.UserPersistence; import ca.nrc.cadc.auth.AuthenticationUtil; import ca.nrc.cadc.auth.HttpPrincipal; import ca.nrc.cadc.auth.IdentityType; +import ca.nrc.cadc.reg.Standards; import ca.nrc.cadc.reg.client.LocalAuthority; import ca.nrc.cadc.util.Log4jInit; import ca.nrc.cadc.util.ObjectUtil; @@ -118,7 +119,7 @@ public class RemoveUserMemberActionTest { User user = new User(); LocalAuthority localAuthority = new LocalAuthority(); - URI umsServiceURI = localAuthority.getServiceURI("ac"); + URI umsServiceURI = localAuthority.getServiceURI(Standards.UMS_REQS_01.toString()); InternalID internalID = new InternalID(new URI(umsServiceURI.toASCIIString() + "?" + UUID.randomUUID())); ObjectUtil.setField(user, internalID, "id"); @@ -172,7 +173,7 @@ public class RemoveUserMemberActionTest { User user = new User(); LocalAuthority localAuthority = new LocalAuthority(); - URI umsServiceURI = localAuthority.getServiceURI("ac"); + URI umsServiceURI = localAuthority.getServiceURI(Standards.UMS_REQS_01.toString()); InternalID internalID = new InternalID(new URI(umsServiceURI.toString() + "?" + UUID.randomUUID())); ObjectUtil.setField(user, internalID, "id"); diff --git a/cadcAccessControl/src/ca/nrc/cadc/ac/xml/AbstractReaderWriter.java b/cadcAccessControl/src/ca/nrc/cadc/ac/xml/AbstractReaderWriter.java index 8c57ebe2..6d8f0058 100644 --- a/cadcAccessControl/src/ca/nrc/cadc/ac/xml/AbstractReaderWriter.java +++ b/cadcAccessControl/src/ca/nrc/cadc/ac/xml/AbstractReaderWriter.java @@ -104,6 +104,7 @@ import ca.nrc.cadc.auth.IdentityType; import ca.nrc.cadc.auth.NumericPrincipal; import ca.nrc.cadc.auth.OpenIdPrincipal; import ca.nrc.cadc.date.DateUtil; +import ca.nrc.cadc.reg.Standards; import ca.nrc.cadc.reg.client.LocalAuthority; /** @@ -156,7 +157,7 @@ public abstract class AbstractReaderWriter public AbstractReaderWriter() { LocalAuthority localAuthority = new LocalAuthority(); - URI serviceURI = localAuthority.getServiceURI("ac"); + URI serviceURI = localAuthority.getServiceURI(Standards.GMS_GROUPS_01.toString()); gmsServiceURI = serviceURI.toString(); } diff --git a/cadcAccessControl/test/src/ca/nrc/cadc/ac/client/UserClientTest.java b/cadcAccessControl/test/src/ca/nrc/cadc/ac/client/UserClientTest.java index 63244e38..4aa61444 100644 --- a/cadcAccessControl/test/src/ca/nrc/cadc/ac/client/UserClientTest.java +++ b/cadcAccessControl/test/src/ca/nrc/cadc/ac/client/UserClientTest.java @@ -86,6 +86,7 @@ import org.junit.Test; import ca.nrc.cadc.auth.HttpPrincipal; import ca.nrc.cadc.auth.NumericPrincipal; +import ca.nrc.cadc.reg.Standards; import ca.nrc.cadc.reg.client.LocalAuthority; import ca.nrc.cadc.util.Log4jInit; @@ -101,7 +102,7 @@ public class UserClientTest { Log4jInit.setLevel("ca.nrc.cadc.ac", Level.INFO); LocalAuthority localAuthority = new LocalAuthority(); - umsServiceURI = localAuthority.getServiceURI("ac"); + umsServiceURI = localAuthority.getServiceURI(Standards.UMS_USERS_01.toString()); } @Test diff --git a/cadcTomcat/build.xml b/cadcTomcat/build.xml index ec069e38..a07f5a5d 100644 --- a/cadcTomcat/build.xml +++ b/cadcTomcat/build.xml @@ -86,7 +86,7 @@ <!-- developer convenience: place for extra targets and properties --> <import file="extras.xml" optional="true" /> - <property name="cadc" value="${lib}/cadcUtil.jar" /> + <property name="cadc" value="${lib}/cadcUtil.jar:${lib}/cadcRegistry.jar" /> <property name="log4j" value="${ext.lib}/log4j.jar" /> <property name="tomcat" value="${ext.lib}/catalina.jar:${ext.lib}/tomcat-util.jar:${ext.lib}/tomcat-coyote.jar" /> <property name="jars" value="${cadc}:${log4j}:${tomcat}" /> diff --git a/cadcTomcat/src/ca/nrc/cadc/tomcat/CadcBasicAuthenticator.java b/cadcTomcat/src/ca/nrc/cadc/tomcat/CadcBasicAuthenticator.java index 431cc1eb..c3845f91 100644 --- a/cadcTomcat/src/ca/nrc/cadc/tomcat/CadcBasicAuthenticator.java +++ b/cadcTomcat/src/ca/nrc/cadc/tomcat/CadcBasicAuthenticator.java @@ -83,6 +83,8 @@ import org.apache.catalina.realm.RealmBase; import org.apache.log4j.Level; import org.apache.log4j.Logger; +import ca.nrc.cadc.reg.Standards; + /** * Custom class for Tomcat realm authentication. * @@ -97,7 +99,7 @@ public class CadcBasicAuthenticator extends RealmBase { private static Logger log = Logger.getLogger(CadcBasicAuthenticator.class); - private static final String AC_URI = "ivo://cadc.nrc.ca/ac"; + private static final String AC_URI = Standards.UMS_LOGIN_01.toString(); static { -- GitLab