import org.argeo.api.acr.ldap.NamingUtils;
import org.argeo.api.cms.CmsConstants;
import org.argeo.api.cms.CmsLog;
import org.argeo.api.acr.ldap.NamingUtils;
import org.argeo.api.cms.CmsConstants;
import org.argeo.api.cms.CmsLog;
import org.argeo.api.cms.transaction.WorkTransaction;
import org.argeo.cms.CmsUserManager;
import org.argeo.cms.auth.CurrentUser;
import org.argeo.api.cms.transaction.WorkTransaction;
import org.argeo.cms.CmsUserManager;
import org.argeo.cms.auth.CurrentUser;
import org.argeo.cms.directory.ldap.SharedSecret;
import org.argeo.cms.osgi.useradmin.AggregatingUserAdmin;
import org.argeo.cms.osgi.useradmin.TokenUtils;
import org.argeo.cms.directory.ldap.SharedSecret;
import org.argeo.cms.osgi.useradmin.AggregatingUserAdmin;
import org.argeo.cms.osgi.useradmin.TokenUtils;
import org.argeo.cms.runtime.DirectoryConf;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.service.useradmin.Authorization;
import org.argeo.cms.runtime.DirectoryConf;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.service.useradmin.Authorization;
// ALL USER: WARNING access to this will be later reduced
/** Retrieve a user given his dn, or <code>null</code> if it doesn't exist. */
// ALL USER: WARNING access to this will be later reduced
/** Retrieve a user given his dn, or <code>null</code> if it doesn't exist. */
Group group = (Group) userAdmin.getRole(groupDn);
if (group == null)
throw new IllegalArgumentException("Group " + groupDn + " not found");
Group group = (Group) userAdmin.getRole(groupDn);
if (group == null)
throw new IllegalArgumentException("Group " + groupDn + " not found");
Role[] roles = group.getMembers();
for (Role role : roles) {
if (role.getType() == Role.GROUP) {
Role[] roles = group.getMembers();
for (Role role : roles) {
if (role.getType() == Role.GROUP) {
for (Role role : roles) {
if ((includeUsers && role.getType() == Role.USER || role.getType() == Role.GROUP) && !users.contains(role)
&& (includeSystemRoles
|| !role.getName().toLowerCase().endsWith(CmsConstants.SYSTEM_ROLES_BASEDN))) {
if (match(role, filter))
for (Role role : roles) {
if ((includeUsers && role.getType() == Role.USER || role.getType() == Role.GROUP) && !users.contains(role)
&& (includeSystemRoles
|| !role.getName().toLowerCase().endsWith(CmsConstants.SYSTEM_ROLES_BASEDN))) {
if (match(role, filter))
- public User getUserFromLocalId(String localId) {
- User user = getUserAdmin().getUser(LdapAttrs.uid.name(), localId);
+ public CmsUser getUserFromLocalId(String localId) {
+ CmsUser user = (CmsUser) getUserAdmin().getUser(LdapAttrs.uid.name(), localId);
- public User createUser(String username, Map<String, Object> properties, Map<String, Object> credentials) {
+ public CmsUser createUser(String username, Map<String, Object> properties, Map<String, Object> credentials) {
if (properties != null) {
for (String key : properties.keySet())
user.getProperties().put(key, properties.get(key));
if (properties != null) {
for (String key : properties.keySet())
user.getProperties().put(key, properties.get(key));