X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.enterprise%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FAggregatingUserAdmin.java;h=b09c8df5eee20cb633d3fbe602352202a4ac7ecf;hb=80ab395d2f6adfd07114321ce8b009eeca3d4e13;hp=01254b985a64302b84dd22db5e789040143b6461;hpb=f9ee9620626e471a99f25e84175e27380d902957;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AggregatingUserAdmin.java b/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AggregatingUserAdmin.java index 01254b985..b09c8df5e 100644 --- a/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AggregatingUserAdmin.java +++ b/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AggregatingUserAdmin.java @@ -13,7 +13,6 @@ import java.util.Set; import javax.naming.InvalidNameException; import javax.naming.ldap.LdapName; -import org.argeo.naming.LdapAttrs; import org.osgi.framework.InvalidSyntaxException; import org.osgi.service.useradmin.Authorization; import org.osgi.service.useradmin.Group; @@ -88,16 +87,16 @@ public class AggregatingUserAdmin implements UserAdmin { Authorization rawAuthorization = userAdmin.getAuthorization(user); String usernameToUse; String displayNameToUse; - if (user instanceof Group) {// tokens - String ownerDn = (String) user.getProperties().get(LdapAttrs.owner.name()); - if (ownerDn != null) { + if (user instanceof Group) { + String ownerDn = TokenUtils.userDn((Group) user); + if (ownerDn != null) {// tokens UserAdmin ownerUserAdmin = findUserAdmin(ownerDn); User ownerUser = (User) ownerUserAdmin.getRole(ownerDn); usernameToUse = ownerDn; displayNameToUse = LdifAuthorization.extractDisplayName(ownerUser); } else { - throw new UserDirectoryException( - "Cannot get authorization for group " + user.getName() + " without owner"); + usernameToUse = rawAuthorization.getName(); + displayNameToUse = rawAuthorization.toString(); } } else {// regular users usernameToUse = rawAuthorization.getName();