Commit 9e647a79 authored by Jeff Burke's avatar Jeff Burke
Browse files

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

Conflicts:
	projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/users/GetUserAction.java
parents 93ec644a 4953170d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@
  <property name="cadcUtil" value="${lib}/cadcUtil.jar"/>
  <property name="cadcUWS" value="${lib}/cadcUWS.jar"/>
  <property name="wsUtil" value="${lib}/wsUtil.jar"/>
  <property name="wsUtil-augment" value="${lib}/wsUtil-augment.jar"/>

  <property name="javacsv" value="${ext.lib}/javacsv.jar"/>
  <property name="jdom2" value="${ext.lib}/jdom2.jar"/>
@@ -102,7 +103,7 @@
  <property name="xerces" value="${ext.lib}/xerces.jar"/>

  <property name="jars"
            value="${javacsv}:${jdom2}:${log4j}:${servlet}:${unboundid}:${xerces}:${cadcAccessControl}:${cadcLog}:${cadcRegistry}:${cadcUtil}:${cadcUWS}:${wsUtil}"/>
            value="${javacsv}:${jdom2}:${log4j}:${servlet}:${unboundid}:${xerces}:${cadcAccessControl}:${cadcLog}:${cadcRegistry}:${cadcUtil}:${cadcUWS}:${wsUtil}:${wsUtil-augment}"/>

  <target name="build" depends="compile">
    <jar jarfile="${build}/lib/${project}.jar"
+14 −13
Original line number Diff line number Diff line
@@ -100,7 +100,7 @@ public class GetUserAction extends AbstractUserAction
    {
        User<Principal> user;
 
        if (isSubjectUser(this.augmentUserDN))
        if (isServops())
        {
        	Subject subject = new Subject();
        	subject.getPrincipals().add(this.userID);
@@ -177,17 +177,18 @@ public class GetUserAction extends AbstractUserAction
    	return user;
    }
    
    protected boolean isSubjectUser(String username)
    protected boolean isServops()
    {
        boolean found = false;
        Subject subject = Subject.getSubject(AccessController.getContext());
    	boolean isServops = false;
        AccessControlContext acc = AccessController.getContext();
        Subject subject = Subject.getSubject(acc);
        if (subject != null)
        {
        	for (Principal principal : subject.getPrincipals())
        	{
                if (principal.getName().equals(username))
        		if (principal.getName().equals(this.getAugmentUserDN()))
        		{
                    found = true;
        			isServops = true;
        			break;
        		}
        	}
+2 −1
Original line number Diff line number Diff line
@@ -68,17 +68,18 @@
 */
package ca.nrc.cadc.ac.server.web.users;

import ca.nrc.cadc.ac.IdentityType;
import ca.nrc.cadc.ac.User;
import ca.nrc.cadc.ac.server.web.WebUtil;
import ca.nrc.cadc.auth.CookiePrincipal;
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 java.io.IOException;
import java.net.URL;
import java.security.Principal;

import javax.security.auth.x500.X500Principal;
import javax.servlet.http.HttpServletRequest;

+6 −3
Original line number Diff line number Diff line
@@ -71,15 +71,18 @@ package ca.nrc.cadc.ac.server;
import ca.nrc.cadc.ac.Role;
import ca.nrc.cadc.ac.server.web.groups.AddUserMemberActionTest;
import ca.nrc.cadc.auth.AuthenticationUtil;
import ca.nrc.cadc.auth.IdentityType;
import ca.nrc.cadc.util.Log4jInit;
import ca.nrc.cadc.uws.Parameter;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.junit.BeforeClass;
import org.junit.Test;

import static org.junit.Assert.*;

/**
@@ -152,7 +155,7 @@ public class RequestValidatorTest
            
            paramList.clear();
            paramList.add(new Parameter("ID", "foo"));
            paramList.add(new Parameter("IDTYPE", AuthenticationUtil.AUTH_TYPE_HTTP));
            paramList.add(new Parameter("IDTYPE", IdentityType.USERNAME.getValue()));
            paramList.add(new Parameter("ROLE", "foo"));
            try
            {
@@ -163,7 +166,7 @@ public class RequestValidatorTest
            
            paramList.clear();
            paramList.add(new Parameter("ID", "foo"));
            paramList.add(new Parameter("IDTYPE", AuthenticationUtil.AUTH_TYPE_HTTP));
            paramList.add(new Parameter("IDTYPE", IdentityType.USERNAME.getValue()));
            paramList.add(new Parameter("ROLE", "foo"));
            paramList.add(new Parameter("GROUPID", ""));
            try
@@ -175,7 +178,7 @@ public class RequestValidatorTest
            
            paramList.clear();
            paramList.add(new Parameter("ID", "foo"));
            paramList.add(new Parameter("IDTYPE", AuthenticationUtil.AUTH_TYPE_HTTP));
            paramList.add(new Parameter("IDTYPE", IdentityType.USERNAME.getValue()));
            paramList.add(new Parameter("ROLE", Role.MEMBER.getValue()));
            rv.validate(paramList);
            
+4 −2
Original line number Diff line number Diff line
@@ -74,7 +74,9 @@ import ca.nrc.cadc.ac.User;
import ca.nrc.cadc.ac.server.GroupPersistence;
import ca.nrc.cadc.ac.server.UserPersistence;
import ca.nrc.cadc.auth.AuthenticationUtil;
import ca.nrc.cadc.auth.IdentityType;
import ca.nrc.cadc.util.Log4jInit;

import java.security.Principal;

import org.apache.log4j.Level;
@@ -107,7 +109,7 @@ public class AddUserMemberActionTest
        try
        {
            String userID = "foo";
            String userIDType = AuthenticationUtil.AUTH_TYPE_HTTP;
            String userIDType = IdentityType.USERNAME.getValue();
            Principal userPrincipal = AuthenticationUtil.createPrincipal(userID, userIDType);
            User<Principal> user = new User<Principal>(userPrincipal);

@@ -159,7 +161,7 @@ public class AddUserMemberActionTest
        try
        {
            String userID = "foo";
            String userIDType = AuthenticationUtil.AUTH_TYPE_HTTP;
            String userIDType = IdentityType.USERNAME.getValue();
            Principal userPrincipal = AuthenticationUtil.createPrincipal(userID, userIDType);
            User<Principal> user = new User<Principal>(userPrincipal);

Loading