Skip to content
Snippets Groups Projects
Commit 24ad7c6c authored by Sharon's avatar Sharon
Browse files

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

parents d2f942ac 27ea5247
No related branches found
No related tags found
No related merge requests found
...@@ -83,6 +83,7 @@ import org.apache.log4j.Logger; ...@@ -83,6 +83,7 @@ import org.apache.log4j.Logger;
import ca.nrc.cadc.ac.PersonalDetails; import ca.nrc.cadc.ac.PersonalDetails;
import ca.nrc.cadc.ac.User; import ca.nrc.cadc.ac.User;
import ca.nrc.cadc.ac.UserNotFoundException; import ca.nrc.cadc.ac.UserNotFoundException;
import ca.nrc.cadc.auth.AuthenticationUtil;
import ca.nrc.cadc.auth.HttpPrincipal; import ca.nrc.cadc.auth.HttpPrincipal;
import ca.nrc.cadc.net.TransientException; import ca.nrc.cadc.net.TransientException;
...@@ -405,9 +406,21 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO ...@@ -405,9 +406,21 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO
"Unsupported principal type " + user.getUserID() "Unsupported principal type " + user.getUserID()
.getClass()); .getClass());
} }
searchField = "(" + searchField + "=" + // change the DN to be in the 'java' format
user.getUserID().getName() + ")"; if (user.getUserID() instanceof X500Principal)
{
X500Principal orderedPrincipal = AuthenticationUtil.getOrderedForm(
(X500Principal) user.getUserID());
searchField = "(" + searchField + "=" + orderedPrincipal.toString() + ")";
}
else
{
searchField = "(" + searchField + "=" + user.getUserID().getName()
+ ")";
}
logger.debug("Search field is: " + searchField);
SearchResultEntry searchResult = null; SearchResultEntry searchResult = null;
try try
......
...@@ -137,15 +137,22 @@ public class GroupsActionFactory ...@@ -137,15 +137,22 @@ public class GroupsActionFactory
} }
else if (method.equals("POST")) else if (method.equals("POST"))
{ {
final URL requestURL = final URL requestURL = new URL(request.getRequestURL().toString());
new URL(request.getRequestURL().toString()); final StringBuilder sb = new StringBuilder();
final String redirectURI = requestURL.getProtocol() + "://" sb.append(requestURL.getProtocol());
+ requestURL.getHost() + ":" sb.append("://");
+ requestURL.getPort() sb.append(requestURL.getHost());
+ request.getContextPath() if (requestURL.getPort() > 0)
+ request.getServletPath() {
+ "/" + path; sb.append(":");
action = new ModifyGroupAction(logInfo, groupName, redirectURI, sb.append(requestURL.getPort());
}
sb.append(request.getContextPath());
sb.append(request.getServletPath());
sb.append("/");
sb.append(path);
action = new ModifyGroupAction(logInfo, groupName, sb.toString(),
request.getInputStream()); request.getInputStream());
} }
} }
......
# This are the configuration fields required by the Ldap ldap-dao unit tests
server = proc5-03.cadc.dao.nrc.ca
port = 636
proxyUser = webproxy
usersDn = ou=Users,ou=ds,dc=canfar,dc=net
groupsDn = ou=Groups,ou=ds,dc=canfar,dc=net
adminGroupsDn = ou=adminGroups,ou=ds,dc=canfar,dc=net
\ No newline at end of file
...@@ -72,6 +72,11 @@ import java.security.Principal; ...@@ -72,6 +72,11 @@ import java.security.Principal;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import ca.nrc.cadc.auth.AuthenticationUtil;
import javax.security.auth.x500.X500Principal;
public class User<T extends Principal> public class User<T extends Principal>
{ {
private T userID; private T userID;
...@@ -130,11 +135,18 @@ public class User<T extends Principal> ...@@ -130,11 +135,18 @@ public class User<T extends Principal>
return false; return false;
} }
User other = (User) obj; User other = (User) obj;
if (!userID.equals(other.userID)) if (userID instanceof X500Principal)
{ {
return false; return AuthenticationUtil.equals(userID, other.userID);
}
else
{
if (!userID.equals(other.userID))
{
return false;
}
return true;
} }
return true;
} }
@Override @Override
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment