import org.apache.commons.httpclient.auth.AuthPolicy;
import org.apache.commons.httpclient.auth.CredentialsProvider;
import org.apache.commons.httpclient.auth.AuthPolicy;
import org.apache.commons.httpclient.auth.CredentialsProvider;
import org.apache.commons.httpclient.params.DefaultHttpParams;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.httpclient.params.HttpParams;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.cms.CmsException;
import org.apache.commons.httpclient.params.DefaultHttpParams;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.httpclient.params.HttpParams;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.cms.CmsException;
import org.argeo.cms.internal.http.client.HttpCredentialProvider;
import org.argeo.cms.internal.http.client.SpnegoAuthScheme;
import org.argeo.naming.DnsBrowser;
import org.argeo.cms.internal.http.client.HttpCredentialProvider;
import org.argeo.cms.internal.http.client.SpnegoAuthScheme;
import org.argeo.naming.DnsBrowser;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.cm.ConfigurationException;
import org.osgi.service.cm.ManagedServiceFactory;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.cm.ConfigurationException;
import org.osgi.service.cm.ManagedServiceFactory;
// GSS API
private Path nodeKeyTab = KernelUtils.getOsgiInstancePath(KernelConstants.NODE_KEY_TAB_PATH);
private GSSCredential acceptorCredentials;
private boolean singleUser = false;
// GSS API
private Path nodeKeyTab = KernelUtils.getOsgiInstancePath(KernelConstants.NODE_KEY_TAB_PATH);
private GSSCredential acceptorCredentials;
private boolean singleUser = false;
log.debug("User directory " + userDirectory.getBaseDn() + " [" + u.getScheme() + "] enabled."
+ (realm != null ? " " + realm + " realm." : ""));
log.debug("User directory " + userDirectory.getBaseDn() + " [" + u.getScheme() + "] enabled."
+ (realm != null ? " " + realm + " realm." : ""));
- if (!isSystemRolesBaseDn(baseDn)) {
+ if (isSystemRolesBaseDn(baseDn))
+ systemRolesAvailable = true;
+
+ // start publishing only when system roles are available
+ if (systemRolesAvailable) {
+ // The list of baseDns is published as properties
+ // TODO clients should rather reference USerDirectory services
if (userAdminReg != null)
userAdminReg.unregister();
// register self as main user admin
if (userAdminReg != null)
userAdminReg.unregister();
// register self as main user admin
+ @Override
+ protected void addAbstractSystemRoles(Authorization rawAuthorization, Set<String> sysRoles) {
+ if (rawAuthorization.getName() == null) {
+ sysRoles.add(NodeConstants.ROLE_ANONYMOUS);
+ } else {
+ sysRoles.add(NodeConstants.ROLE_USER);
+ }
+ }
+
protected void postAdd(AbstractUserDirectory userDirectory) {
// JTA
TransactionManager tm = tmTracker.getService();
if (tm == null)
throw new CmsException("A JTA transaction manager must be available.");
userDirectory.setTransactionManager(tm);
protected void postAdd(AbstractUserDirectory userDirectory) {
// JTA
TransactionManager tm = tmTracker.getService();
if (tm == null)
throw new CmsException("A JTA transaction manager must be available.");
userDirectory.setTransactionManager(tm);
- if (tmTracker.getService() instanceof BitronixTransactionManager)
- EhCacheXAResourceProducer.registerXAResource(cacheName, userDirectory.getXaResource());
+// if (tmTracker.getService() instanceof BitronixTransactionManager)
+// EhCacheXAResourceProducer.registerXAResource(cacheName, userDirectory.getXaResource());
// schemes.add(AuthPolicy.BASIC);// incompatible with Basic
params.setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, schemes);
params.setParameter(CredentialsProvider.PROVIDER, new HttpCredentialProvider());
// schemes.add(AuthPolicy.BASIC);// incompatible with Basic
params.setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, schemes);
params.setParameter(CredentialsProvider.PROVIDER, new HttpCredentialProvider());
// params.setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
}
}
protected void preDestroy(AbstractUserDirectory userDirectory) {
// params.setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
}
}
protected void preDestroy(AbstractUserDirectory userDirectory) {
- if (tmTracker.getService() instanceof BitronixTransactionManager)
- EhCacheXAResourceProducer.unregisterXAResource(cacheName, userDirectory.getXaResource());
+// if (tmTracker.getService() instanceof BitronixTransactionManager)
+// EhCacheXAResourceProducer.unregisterXAResource(cacheName, userDirectory.getXaResource());