Unable to load atlassian-user configuration - LDAP
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
Bamboo fails to use the configured BAMBOO_HOME/xml-data/configuration/atlassian-user.xml
file to connect to LDAP and shows this error:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2013-05-23 10:07:59,542 ERROR [main] [ContextLoader] Context initialization failed
...
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at com.atlassian.bamboo.server.Server.main(Server.java:74)
Caused by: com.atlassian.user.configuration.ConfigurationException: Unable to load atlassian-user configuration: org.dom4j.DocumentException: Error on line 15 of document : The entity name must immediately follow the '&' in the entity reference. Nested exception: The entity name must immediately follow the '&' in the entity reference.
at com.atlassian.user.configuration.xml.XMLConfigurationParser.parse(XMLConfigurationParser.java:93)
at com.atlassian.user.configuration.xml.XMLConfiguration.init(XMLConfiguration.java:91)
at com.atlassian.crowd.integration.atlassianuser.AbstractDynamicUserConfiguration.loadConfiguration(AbstractDynamicUserConfiguration.java:56)
at com.atlassian.crowd.integration.atlassianuser.AbstractDynamicUserConfiguration.<init>(AbstractDynamicUserConfiguration.java:24)
at com.atlassian.crowd.integration.atlassianuser.AbstractDynamicUserConfiguration$$EnhancerByCGLIB$$903464da.<init>(<generated>)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
...
Cause
There is a wrong usage of the ampersand sign (&) in the filter configuration of the atlassian-user.xml
file.
Resolution
The ampersand signs in the atlassian-user.xml
file should be escaped. If you have anything like this:
1
<userSearchFilter>(&(objectCategory=Person)(sAMAccountName=*))</userSearchFilter>
Please replace that line with this:
1
<userSearchFilter>(&(objectCategory=Person)(sAMAccountName=*))</userSearchFilter>
Note how the ampersand is escaped. For more information about LDAP filters, you can refer to this page.
Was this helpful?