Creating a new DMX user fails when authenticating via LDAP
When using the LDAP plugin a new user cannot login. The server throws an error on creating the new user in DMX:
Jun 18, 2021 8:26:34 AM systems.dmx.accesscontrol.AccessControlPlugin getAuthorizationMethod
INFORMATION: authMethodName: "LDAP"
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: Checking credentials for user testuser
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: creating LDAP connection using URL ldap://127.0.0.1:389 and username [...]
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: Enabling detailed SSL logging
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: Initial context created
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: Initial context usable
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: Complete filter expression for user lookup: (&((&(objectclass=inetOrgPerson)(memberof=cn=dmxusers,ou=groups,dc=foo,dc=bar)))(uid=testuser))
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: Search base is: ou=users,dc=foo,dc=bar
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: Lookup using search filter returned non-empty result
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: creating LDAP connection using URL ldap://127.0.0.1:389 and username uid=testuser,ou=users,dc=foo,dc=bar
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: Enabling detailed SSL logging
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: Initial context created
Jun 18, 2021 8:26:34 AM systems.dmx.ldap.TroubleShootingLog actionHint
INFORMATION: Initial context usable
Jun 18, 2021 8:26:34 AM systems.dmx.accesscontrol.AccessControlPlugin createUsername
INFORMATION: Creating username topic "testuser"
Jun 18, 2021 8:26:34 AM systems.dmx.config.ConfigPlugin _createConfigTopic
INFORMATION: ### Creating config topic of type "dmx.workspaces.enabled_sharing_modes" for topic 4353
Jun 18, 2021 8:26:34 AM systems.dmx.core.util.UniversalExceptionMapper logException
SCHWERWIEGEND: Request "POST /access-control/login" failed. Responding with 401 (Unauthorized). The original exception/error is:
java.lang.RuntimeException: An error occurred in the ServiceRequestFilter listener of plugin "DMX Access Control"
at systems.dmx.core.impl.EventManager.dispatchEvent(EventManager.java:96)
at systems.dmx.core.impl.EventManager.fireEvent(EventManager.java:59)
at systems.dmx.core.impl.JerseyRequestFilter.filter(JerseyRequestFilter.java:27)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1465)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:339)
at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:300)
at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:93)
at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:50)
at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:76)
at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:49)
at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: Creating username topic "testuser" failed
at systems.dmx.accesscontrol.AccessControlPlugin.createUsername(AccessControlPlugin.java:318)
at systems.dmx.ldap.LDAPPlugin.lookupOrCreateUsernameTopic(LDAPPlugin.java:120)
at systems.dmx.ldap.LDAPPlugin.checkCredentials(LDAPPlugin.java:67)
at systems.dmx.accesscontrol.AccessControlPlugin.checkCredentials(AccessControlPlugin.java:801)
at systems.dmx.accesscontrol.AccessControlPlugin.tryLogin(AccessControlPlugin.java:786)
at systems.dmx.accesscontrol.AccessControlPlugin.checkAuthorization(AccessControlPlugin.java:747)
at systems.dmx.accesscontrol.AccessControlPlugin.requestFilter(AccessControlPlugin.java:713)
at systems.dmx.accesscontrol.AccessControlPlugin.serviceRequestFilter(AccessControlPlugin.java:634)
at systems.dmx.core.impl.CoreEvent$24.dispatch(CoreEvent.java:274)
at systems.dmx.core.impl.EventManager.dispatchEvent(EventManager.java:83)
... 41 more
Caused by: java.lang.RuntimeException: Creating topic of type "dmx.accesscontrol.username" failed
at systems.dmx.core.impl.AccessLayer.createTopic(AccessLayer.java:143)
at systems.dmx.core.impl.CoreServiceImpl.createTopic(CoreServiceImpl.java:135)
at systems.dmx.core.impl.CoreServiceImpl.createTopic(CoreServiceImpl.java:37)
at systems.dmx.accesscontrol.AccessControlPlugin.lambda$createUsername$1(AccessControlPlugin.java:300)
at systems.dmx.core.util.ContextTracker.run(ContextTracker.java:20)
at systems.dmx.core.impl.PrivilegedAccessImpl.runInWorkspaceContext(PrivilegedAccessImpl.java:353)
at systems.dmx.accesscontrol.AccessControlPlugin.createUsername(AccessControlPlugin.java:299)
... 50 more
Caused by: java.lang.RuntimeException: Integrating new values failed, newValues=TopicModelImpl {
"id": 4353,
"typeUri": "dmx.accesscontrol.username",
"value": "testuser",
"children": {}
}
at systems.dmx.core.impl.AccessLayer.integrateValues(AccessLayer.java:1087)
at systems.dmx.core.impl.AccessLayer.createTopic(AccessLayer.java:140)
... 56 more
Caused by: java.lang.RuntimeException: Value integration failed, newValues=TopicModelImpl {
"id": 4353,
"typeUri": "dmx.accesscontrol.username",
"value": "testuser",
"children": {}
}, targetObject=null, compDef=null
at systems.dmx.core.impl.ValueIntegrator.integrate(ValueIntegrator.java:108)
at systems.dmx.core.impl.AccessLayer.integrateValues(AccessLayer.java:1079)
... 57 more
Caused by: java.lang.RuntimeException: An error occurred in the PostCreateTopic listener of plugin "DMX Config"
at systems.dmx.core.impl.EventManager.dispatchEvent(EventManager.java:96)
at systems.dmx.core.impl.EventManager.fireEvent(EventManager.java:59)
at systems.dmx.core.impl.ValueIntegrator.integrate(ValueIntegrator.java:104)
... 58 more
Caused by: java.lang.RuntimeException: Creating config topic of type "dmx.workspaces.enabled_sharing_modes" for topic 4353 failed
at systems.dmx.config.ConfigPlugin._createConfigTopic(ConfigPlugin.java:190)
at systems.dmx.config.ConfigPlugin.postCreateTopic(ConfigPlugin.java:165)
at systems.dmx.core.impl.CoreEvent$10.dispatch(CoreEvent.java:125)
at systems.dmx.core.impl.EventManager.dispatchEvent(EventManager.java:83)
... 60 more
Caused by: java.lang.RuntimeException: Creating topic of type "dmx.workspaces.enabled_sharing_modes" failed
at systems.dmx.core.impl.AccessLayer.createTopic(AccessLayer.java:143)
at systems.dmx.core.impl.CoreServiceImpl.createTopic(CoreServiceImpl.java:135)
at systems.dmx.core.impl.CoreServiceImpl.createTopic(CoreServiceImpl.java:37)
at systems.dmx.config.ConfigPlugin.lambda$_createConfigTopic$1(ConfigPlugin.java:183)
at systems.dmx.core.util.ContextTracker.run(ContextTracker.java:20)
at systems.dmx.core.impl.PrivilegedAccessImpl.runInWorkspaceContext(PrivilegedAccessImpl.java:353)
at systems.dmx.config.ConfigPlugin._createConfigTopic(ConfigPlugin.java:182)
... 63 more
Caused by: java.lang.RuntimeException: Integrating new values failed, newValues=TopicModelImpl {
"id": -1,
"typeUri": "dmx.workspaces.enabled_sharing_modes",
"children": {
"dmx.workspaces.private.enabled": {
"id": 4356,
"typeUri": "dmx.workspaces.private.enabled",
"value": true,
"children": {}
},
"dmx.workspaces.collaborative.enabled": {
"id": -1,
"typeUri": "dmx.workspaces.collaborative.enabled",
"value": true,
"children": {}
},
"dmx.workspaces.confidential.enabled": {
"id": -1,
"typeUri": "dmx.workspaces.confidential.enabled",
"value": true,
"children": {}
},
"dmx.workspaces.public.enabled": {
"id": -1,
"typeUri": "dmx.workspaces.public.enabled",
"value": true,
"children": {}
},
"dmx.workspaces.common.enabled": {
"id": -1,
"typeUri": "dmx.workspaces.common.enabled",
"value": true,
"children": {}
}
}
}
at systems.dmx.core.impl.AccessLayer.integrateValues(AccessLayer.java:1087)
at systems.dmx.core.impl.AccessLayer.createTopic(AccessLayer.java:140)
... 69 more
Caused by: java.lang.RuntimeException: Value integration failed, newValues=TopicModelImpl {
"id": -1,
"typeUri": "dmx.workspaces.enabled_sharing_modes",
"children": {
"dmx.workspaces.private.enabled": {
"id": 4356,
"typeUri": "dmx.workspaces.private.enabled",
"value": true,
"children": {}
},
"dmx.workspaces.collaborative.enabled": {
"id": -1,
"typeUri": "dmx.workspaces.collaborative.enabled",
"value": true,
"children": {}
},
"dmx.workspaces.confidential.enabled": {
"id": -1,
"typeUri": "dmx.workspaces.confidential.enabled",
"value": true,
"children": {}
},
"dmx.workspaces.public.enabled": {
"id": -1,
"typeUri": "dmx.workspaces.public.enabled",
"value": true,
"children": {}
},
"dmx.workspaces.common.enabled": {
"id": -1,
"typeUri": "dmx.workspaces.common.enabled",
"value": true,
"children": {}
}
}
}, targetObject=null, compDef=null
at systems.dmx.core.impl.ValueIntegrator.integrate(ValueIntegrator.java:108)
at systems.dmx.core.impl.AccessLayer.integrateValues(AccessLayer.java:1079)
... 70 more
Caused by: java.lang.RuntimeException: Value integration failed, newValues=RelatedTopicModelImpl {
"id": 4356,
"typeUri": "dmx.workspaces.private.enabled",
"value": true,
"children": {}
}, targetObject=null, compDef=null
at systems.dmx.core.impl.ValueIntegrator.integrate(ValueIntegrator.java:108)
at systems.dmx.core.impl.ValueIntegrator.integrateChildValue(ValueIntegrator.java:289)
at systems.dmx.core.impl.ValueIntegrator.integrateComposite(ValueIntegrator.java:254)
at systems.dmx.core.impl.ValueIntegrator.integrate(ValueIntegrator.java:98)
... 71 more
Caused by: java.lang.RuntimeException: An error occurred in the PostCreateTopic listener of plugin "DMX Workspaces"
at systems.dmx.core.impl.EventManager.dispatchEvent(EventManager.java:96)
at systems.dmx.core.impl.EventManager.fireEvent(EventManager.java:59)
at systems.dmx.core.impl.ValueIntegrator.integrate(ValueIntegrator.java:104)
... 74 more
Caused by: java.lang.RuntimeException: Assigning topic 4356 (typeUri="dmx.workspaces.private.enabled", uri="") to workspace 3755 failed
at systems.dmx.workspaces.WorkspacesPlugin._assignToWorkspace(WorkspacesPlugin.java:498)
at systems.dmx.workspaces.WorkspacesPlugin.postCreateTopic(WorkspacesPlugin.java:403)
at systems.dmx.core.impl.CoreEvent$10.dispatch(CoreEvent.java:125)
at systems.dmx.core.impl.EventManager.dispatchEvent(EventManager.java:83)
... 76 more
Caused by: java.lang.RuntimeException: Fetching topic 3755 failed
at systems.dmx.core.impl.AccessLayer.getTopic(AccessLayer.java:71)
at systems.dmx.core.impl.CoreServiceImpl.getTopic(CoreServiceImpl.java:86)
at systems.dmx.workspaces.WorkspacesPlugin.checkAssignmentArgs(WorkspacesPlugin.java:529)
at systems.dmx.workspaces.WorkspacesPlugin._assignToWorkspace(WorkspacesPlugin.java:495)
... 79 more
Caused by: systems.dmx.core.service.accesscontrol.AccessControlException: user <anonymous> has no READ permission for object 3755
at systems.dmx.accesscontrol.AccessControlPlugin.checkAccess(AccessControlPlugin.java:971)
at systems.dmx.accesscontrol.AccessControlPlugin.checkReadAccess(AccessControlPlugin.java:949)
at systems.dmx.accesscontrol.AccessControlPlugin.checkTopicReadAccess(AccessControlPlugin.java:533)
at systems.dmx.core.impl.CoreEvent$1.dispatch(CoreEvent.java:38)
at systems.dmx.core.impl.EventManager.dispatchEvent(EventManager.java:83)
at systems.dmx.core.impl.EventManager.fireEvent(EventManager.java:59)
at systems.dmx.core.impl.AccessLayer.checkTopicReadAccess(AccessLayer.java:793)
at systems.dmx.core.impl.TopicModelImpl.checkReadAccess(TopicModelImpl.java:139)
at systems.dmx.core.impl.AccessLayer.getTopic(AccessLayer.java:69)
... 82 more