import javax.transaction.Transaction;
import javax.transaction.TransactionManager;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.argeo.naming.LdapAttrs;
import org.osgi.framework.Filter;
import org.osgi.framework.FrameworkUtil;
static final String SHARED_STATE_USERNAME = "javax.security.auth.login.name";
static final String SHARED_STATE_PASSWORD = "javax.security.auth.login.password";
- private final static Log log = LogFactory.getLog(AbstractUserDirectory.class);
-
private final Hashtable<String, Object> properties;
private final LdapName baseDn, userBaseDn, groupBaseDn;
private final String userObjectClass, userBase, groupObjectClass, groupBase;
private final boolean readOnly;
+ private final boolean disabled;
private final URI uri;
private UserAdmin externalRoles;
properties.put(UserAdminConf.readOnly.name(), Boolean.toString(readOnly));
} else
readOnly = new Boolean(readOnlyStr);
+ String disabledStr = UserAdminConf.disabled.getValue(properties);
+ if (disabledStr != null)
+ disabled = new Boolean(disabledStr);
+ else
+ disabled = false;
}
/** Returns the groups this user is a direct member of. */
LdapName groupDn = new LdapName(value.toString());
DirectoryUser group = doGetRole(groupDn);
allRoles.add(group);
- if (log.isTraceEnabled())
- log.trace("Add memberOf " + groupDn);
}
} catch (Exception e) {
throw new UserDirectoryException("Cannot get memberOf groups for " + user, e);
// TODO check for loops
DirectoryUser group = doGetRole(groupDn);
allRoles.add(group);
- if (log.isTraceEnabled())
- log.trace("Add direct group " + groupDn);
collectRoles(group, allRoles);
}
}
return user;
}
- @SuppressWarnings("unchecked")
@Override
public Role[] getRoles(String filter) throws InvalidSyntaxException {
UserDirectoryWorkingCopy wc = getWorkingCopy();
doGetUser(key, value, collectedUsers);
} else {
throw new UserDirectoryException("Key cannot be null");
- // // try dn
- // DirectoryUser user = null;
- // try {
- // user = (DirectoryUser) getRole(value);
- // if (user != null)
- // collectedUsers.add(user);
- // } catch (Exception e) {
- // // silent
- // }
- // // try all indexes
- // for (String attr : getIndexedUserProperties())
- // doGetUser(attr, value, collectedUsers);
}
- if (collectedUsers.size() == 1)
+
+ if (collectedUsers.size() == 1) {
return collectedUsers.get(0);
- else if (collectedUsers.size() > 1)
- log.warn(collectedUsers.size() + " users for " + (key != null ? key + "=" : "") + value);
+ } else if (collectedUsers.size() > 1) {
+ // log.warn(collectedUsers.size() + " users for " + (key != null ? key + "=" :
+ // "") + value);
+ }
return null;
}
return readOnly;
}
+ public boolean isDisabled() {
+ return disabled;
+ }
+
protected UserAdmin getExternalRoles() {
return externalRoles;
}