projects
/
lgpl
/
argeo-commons.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Better deal with multiple user directories.
[lgpl/argeo-commons.git]
/
org.argeo.cms
/
src
/
org
/
argeo
/
cms
/
auth
/
UserAdminUtils.java
diff --git
a/org.argeo.cms/src/org/argeo/cms/auth/UserAdminUtils.java
b/org.argeo.cms/src/org/argeo/cms/auth/UserAdminUtils.java
index 3dbc7ad52fa03a7792afecaf6cd53757604bba7e..ad53086f5c206249d4b066fc7f5f90b0e087ab2b 100644
(file)
--- a/
org.argeo.cms/src/org/argeo/cms/auth/UserAdminUtils.java
+++ b/
org.argeo.cms/src/org/argeo/cms/auth/UserAdminUtils.java
@@
-7,7
+7,6
@@
import javax.naming.ldap.LdapName;
import javax.naming.ldap.Rdn;
import org.argeo.api.NodeConstants;
import javax.naming.ldap.Rdn;
import org.argeo.api.NodeConstants;
-import org.argeo.cms.CmsException;
import org.argeo.naming.LdapAttrs;
import org.osgi.service.useradmin.Role;
import org.osgi.service.useradmin.User;
import org.argeo.naming.LdapAttrs;
import org.osgi.service.useradmin.Role;
import org.osgi.service.useradmin.User;
@@
-59,7
+58,7
@@
public class UserAdminUtils {
|| last.getType().toLowerCase().equals(LdapAttrs.cn.name()))
return (String) last.getValue();
else
|| last.getType().toLowerCase().equals(LdapAttrs.cn.name()))
return (String) last.getValue();
else
- throw new
Cms
Exception("Cannot retrieve user local id, non valid dn: " + dn);
+ throw new
IllegalArgument
Exception("Cannot retrieve user local id, non valid dn: " + dn);
}
/**
}
/**
@@
-129,7
+128,7
@@
public class UserAdminUtils {
try {
return new LdapName(dn);
} catch (InvalidNameException e) {
try {
return new LdapName(dn);
} catch (InvalidNameException e) {
- throw new
Cms
Exception("Cannot parse LDAP name " + dn, e);
+ throw new
IllegalArgument
Exception("Cannot parse LDAP name " + dn, e);
}
}
}
}
@@
-148,7
+147,8
@@
public class UserAdminUtils {
int i = 0;
loop: while (i < rdns.size()) {
Rdn currrRdn = rdns.get(i);
int i = 0;
loop: while (i < rdns.size()) {
Rdn currrRdn = rdns.get(i);
- if (!LdapAttrs.dc.name().equals(currrRdn.getType()))
+ if (LdapAttrs.uid.name().equals(currrRdn.getType()) || LdapAttrs.cn.name().equals(currrRdn.getType())
+ || LdapAttrs.ou.name().equals(currrRdn.getType()))
break loop;
else {
String currVal = (String) currrRdn.getValue();
break loop;
else {
String currVal = (String) currrRdn.getValue();
@@
-158,7
+158,7
@@
public class UserAdminUtils {
}
return dname;
} catch (InvalidNameException e) {
}
return dname;
} catch (InvalidNameException e) {
- throw new
Cms
Exception("Unable to get domain name for " + dn, e);
+ throw new
IllegalArgument
Exception("Unable to get domain name for " + dn, e);
}
}
}
}