Commit eb6fba69 authored by Patrick Dowler's avatar Patrick Dowler
Browse files

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

Conflicts:
	projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java
parents ae765ef0 9ddb111a
Loading
Loading
Loading
Loading
+19 −9
Original line number Diff line number Diff line
@@ -69,16 +69,13 @@

package ca.nrc.cadc.cred.server.actions;

import ca.nrc.cadc.auth.AuthenticationUtil;
import ca.nrc.cadc.auth.DelegationToken;
import ca.nrc.cadc.auth.HttpPrincipal;
import ca.nrc.cadc.auth.PrincipalExtractor;
import ca.nrc.cadc.auth.*;

import java.util.Map;

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

import ca.nrc.cadc.auth.X509CertificateChain;
import ca.nrc.cadc.cred.server.CertificateDAO;
import ca.nrc.cadc.net.ResourceNotFoundException;
import ca.nrc.cadc.profiler.Profiler;
@@ -225,18 +222,31 @@ public class DelegationActionFactory
            {
                return null;
            }

            /**
             * Create and return a SSOCookieCredential from the request
             *
             * @return
             */
            @Override
            public SSOCookieCredential getSSOCookieCredential()
            {
                return null;
            }
        });
        log.debug("augmented: " + s);
        profiler.checkpoint("getUser");
        
        Set<X500Principal> xp = s.getPrincipals(X500Principal.class);
        if (xp != null && !xp.isEmpty())
        if (xp.isEmpty())
        {
            X500Principal p = xp.iterator().next();
            return p;
        }
            throw new ResourceNotFoundException("user not found: " + userid);
        }
        else
        {
            return xp.iterator().next();
        }
    }

    /**
     * Action indicating that a resource could not be found.