I'm trying to connect the SonarQube Community Plugin (from IntellIJ IDEA) to a local SonarQube instance, but looks like my users lack privileges to access the API. While trying to connect I get:
Cannot fetch SonarQube project and modules from SonarQube at mobilex.intra
org.sonarqube.ws.client.HttpException: Error 403 on https://qube.my.local/api/components/search?qualifiers=TRK : {"errors":[{"msg":"Insufficient privileges"}]}
at org.sonarqube.ws.client.BaseResponse.failIfNotSuccessful(BaseResponse.java:36)
at org.sonarqube.ws.client.BaseService.call(BaseService.java:55)
at org.sonarqube.ws.client.BaseService.call(BaseService.java:50)
at org.sonarqube.ws.client.component.ComponentsService.search(ComponentsService.java:58)
at org.intellij.sonar.sonarserver.SonarServer.getAllProjects(SonarServer.java:137)
at org.intellij.sonar.sonarserver.SonarServer.getAllProjectsAndModules(SonarServer.java:110)
at org.intellij.sonar.configuration.ResourcesSelectionConfigurable$DownloadResourcesRunnable.run(ResourcesSelectionConfigurable.java:120)
at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:247)
at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:750)
at com.intellij.openapi.progress.impl.CoreProgressManager$5.run(CoreProgressManager.java:434)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$null$10(ApplicationImpl.java:565)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:305)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Works fine while using an administrative account - but I don't want that. What privilege is needed to allow a common user to access the API and how do I apply it?
Related
I have deployed Pentaho biserver-ce and data-integration (6.1.0.1.196) successfully. It first time loading without any issue.
After I have deployed report set, that is already working on locally. This deploy done using pentaho API. After completing the deployment I can see following issue. Please advise me.
16:34:40,983 ERROR [FileHandler] Couldn't find or create CDE /widgets/sample.cdfde file
org.pentaho.platform.api.repository2.unified.UnifiedRepositoryAccessDeniedException: access denied while updating file with id "5117ec88-9572-43f2-9774-1a69a09c2b0e"
Reference number: 69b57b5c-c978-4292-bcb9-c1967ee04654
at org.pentaho.platform.repository2.unified.exception.AccessDeniedExceptionConverter.convertException(AccessDeniedExceptionConverter.java:31)
at org.pentaho.platform.repository2.unified.ExceptionLoggingDecorator.callLogThrow(ExceptionLoggingDecorator.java:506)
at org.pentaho.platform.repository2.unified.ExceptionLoggingDecorator.updateFile(ExceptionLoggingDecorator.java:433)
at pt.webdetails.cpf.repository.pentaho.unified.UnifiedRepositoryAccess.saveFile(UnifiedRepositoryAccess.java:182)
at pt.webdetails.cpf.repository.pentaho.unified.UnifiedRepositoryAccess.saveFile(UnifiedRepositoryAccess.java:163)
at pt.webdetails.cdf.dd.extapi.FileHandler$1.call(FileHandler.java:114)
at pt.webdetails.cdf.dd.extapi.FileHandler$1.call(FileHandler.java:110)
at org.pentaho.platform.engine.security.SecurityHelper.runAsSystem(SecurityHelper.java:396)
at pt.webdetails.cdf.dd.extapi.FileHandler.createBasicFileIfNotExists(FileHandler.java:110)
at pt.webdetails.cdf.dd.CdeEngine.saveAndClose(CdeEngine.java:135)
at pt.webdetails.cdf.dd.CdeEngine.ensureBasicDirs(CdeEngine.java:118)
at pt.webdetails.cdf.dd.CdeLifeCycleListener.ready(CdeLifeCycleListener.java:39)
at org.pentaho.platform.web.http.context.PentahoSystemReadyListener.contextInitialized(PentahoSystemReadyListener.java:52)
To start pentaho server, taking time and show the following error message as well.
16:03:48,064 INFO [PeriodicStatusLogger] Caution, the system is initializing. Do not shut down or restart the system at this time.
16:04:18,064 INFO [PeriodicStatusLogger] Caution, the system is initializing. Do not shut down or restart the system at this time.
16:04:29,865 ERROR [BlueprintContainerImpl] Unable to start blueprint container for bundle pdi-dataservice-server-plugin due to unresolved dependencies [(objectClass=org.pentaho.metaverse.api.ILineageClient)]
java.util.concurrent.TimeoutException
at org.apache.aries.blueprint.container.BlueprintContainerImpl$1.run(BlueprintContainerImpl.java:336)
at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
My team has a Jira project on Atlassian servers. How can I connect that project with IntelliJ IDEA IDE?
When creating a connection from IntelliJ to Atlassian, I need the server name and username with credentials.
What is in this case the value of the Server URL?
Here is my error log:
com.atlassian.theplugin.commons.remoteapi.RemoteApiException: my_username:[password XX chars]#https://instance.atlassian.net
Login failed
at com.atlassian.connector.commons.jira.rest.JiraRestSessionImpl.wrapWithRemoteApiException(JiraRestSessionImpl.java:800)
at com.atlassian.connector.commons.jira.rest.JiraRestSessionImpl.login(JiraRestSessionImpl.java:180)
at com.atlassian.connector.commons.jira.rest.JiraRestSessionImpl.testConnection(JiraRestSessionImpl.java:762)
at com.atlassian.connector.commons.jira.JiraRESTFacade2Impl.testServerConnection(JiraRESTFacade2Impl.java:329)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.connector.commons.jira.JIRAServerFacade2Impl$1.invoke(JIRAServerFacade2Impl.java:91)
at com.sun.proxy.$Proxy40.testServerConnection(Unknown Source)
at com.atlassian.connector.commons.jira.JIRAServerFacade2Impl.testServerConnection(JIRAServerFacade2Impl.java:268)
at com.atlassian.theplugin.commons.jira.IntelliJJiraServerFacade.testServerConnection(IntelliJJiraServerFacade.java:473)
at com.atlassian.theplugin.idea.config.serverconfig.ProductConnector.connect(ProductConnector.java:35)
at com.atlassian.theplugin.ConnectionWrapper.run(ConnectionWrapper.java:63)
Caused by: com.atlassian.jira.rest.client.RestClientException: Login failed
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:82)
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.postAndParse(AbstractJerseyRestClient.java:140)
at com.atlassian.jira.rest.client.internal.jersey.JerseySessionRestClient.login(JerseySessionRestClient.java:54)
at com.atlassian.connector.commons.jira.rest.JiraRestSessionImpl.wrapWithRemoteApiException(JiraRestSessionImpl.java:797)
... 13 more
Caused by: com.sun.jersey.api.client.UniformInterfaceException: Client response status: 401
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:607)
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:507)
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient$4.call(AbstractJerseyRestClient.java:144)
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:68)
... 16 more
For everyone looking how to connect JIRA without the Atlassian Connector, there is already a simple build-in solution in IntelliJ IDEA:
Normally you don't have to edit the "Search".
And it's also available via the top menu "Tools" -> "Tasks & Contexts" -> "Configure Servers..."
You can get the url by login into your Jira account via a browser; the Server URL is the the first section of the URL before the '/'.
Example:
https://example.atlassian.net/secure/Dashboard.jspa
Server URL = https://example.atlassian.net
Update:
Also note that Atlassian has stopped support for IDE Connectors since 20 April 2015, developer.atlassian.com/blog/2015/06/… ,so I would consider rather connecting your IntelliJ to Jira thorugh other means, such as GitHub via WebHooks
Server url is something like: https://aleksandar.atlassian.net
I am trying to connect sqlserver from dbfit, and getting below error:
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user
'DEV\abc'. ClientConnectionId:a12f7cab-7261-4fa7-8064-ea355f03f883 at
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at
com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84)
at
com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908)
at
com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234)
at
com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at
com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220)
at
com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at
com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at
com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326)
at
com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at
com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at
com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(DriverManager.java:664) at
java.sql.DriverManager.getConnection(DriverManager.java:208) at
dbfit.api.AbstractDbEnvironment.connect(AbstractDbEnvironment.java:51)
at
dbfit.environment.SqlServerEnvironment.connect(SqlServerEnvironment.java:53)
at
dbfit.api.AbstractDbEnvironment.connect(AbstractDbEnvironment.java:78)
at
dbfit.fixture.DatabaseEnvironment.connect(DatabaseEnvironment.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497) at
fitlibrary.closure.MethodClosure.invoke(MethodClosure.java:35) at
fitlibrary.closure.MethodClosure.invokeTyped(MethodClosure.java:28)
at
fitlibrary.closure.CalledMethodTarget.invokeTyped(CalledMethodTarget.java:77)
at
fitlibrary.closure.CalledMethodTarget.invokeTyped(CalledMethodTarget.java:95)
at
fitlibrary.closure.CalledMethodTarget.invokeAndWrap(CalledMethodTarget.java:358)
at
fitlibrary.traverse.workflow.caller.ActionCaller.run(ActionCaller.java:37)
at
fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretRow(DoTraverseInterpreter.java:176)
at
fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretAfterFirstRow(DoTraverseInterpreter.java:66)
at
fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretInFlow(DoTraverseInterpreter.java:151)
at fitlibrary.DoFixture.interpretAfterFirstRow(DoFixture.java:47) at
fitlibrary.FitLibraryFixture.doTable(FitLibraryFixture.java:83) at
dbfit.fixture.DatabaseEnvironment.doTable(DatabaseEnvironment.java:22)
at fit.Fixture.interpretFollowingTables(Fixture.java:121) at
fit.Fixture.interpretTables(Fixture.java:107) at
fit.Fixture.doTables(Fixture.java:81) at
fit.FitServer.process(FitServer.java:81) at
fit.FitServer.run(FitServer.java:56) at
fit.FitServer.main(FitServer.java:41)
Is anyone facing similar issue?
Appreciate your help.
Thanks
I missed below step:
(http://dbfit.github.io/dbfit/docs/database-specific-information.html#microsoft-sql-server)
Microsoft SQL Server
Deploying the JDBC Driver
Download MS SQL Server JDBC driver from their site (It is not open source and cannot be distributed with DbFit.)
Deploy sqljdbc4.jar in DbFit’s lib folder - the same folder as dbfit-XXX.jar.
Deploy auth\x86\sqljdbc_auth.dll in %programfiles(x86)%\Java\jre7\bin folder to allow integrated windows authentication
Then use connetion as
!|DatabaseEnvironment|sqlserver|
|Connect|jdbc:sqlserver://myhost;integratedSecurity=true|
and it worked.
Not sure whether the same issue has been raised before (I tried to comment but was unable to do so - see link below)
Anyway, I've just upgraded my development environment to MobileFirst Studio 7.1 and I'm having an issue with the adapters we created in 7.0. The adapters deploy without error but when I try to call WL.Client.invokeProcedure from my browser (I'm just testing as a web app at the moment) I get an error 500 in the browser console.
I've tested the adapters using the "Run As ... > Call MobileFirst Adapter" menu option, and they work so this is only related to accessing the adapters from a client. The exception output in the MobileFirst Development Server console is:
[ERROR ] FWLSE0335E: Authorization failed: ClientId WbWBHC11bK was not found on the server. [project BusinessEnergy]
[ERROR ] FWLSE0048E: Unhandled exception caught: null
com.worklight.authorization.endpoint.OauthAuthorizationException
at com.worklight.core.auth.impl.AuthorizationFilterUtils.isAuthorizedClient(AuthorizationFilterUtils.java:63)
at com.worklight.core.auth.impl.AuthorizationFilterUtils.isSessionIndependentSupportedClient(AuthorizationFilterUtils.java:49)
at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:197)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:206)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:86)
at com.worklight.analytics.AnalyticsFilter.doFilter(AnalyticsFilter.java:124)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:206)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:86)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:978)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1100)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4845)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.handleRequest(DynamicVirtualHost.java:297)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:981)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:262)
at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:955)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
[project BusinessEnergy]
com.worklight.authorization.endpoint.OauthAuthorizationException
I wondered whether something basic has changed with authentication in v7.1 but a colleague who created the new v7.1 project is running without this issue.
same question in a separate thread?
Found a resolution to my issue which was basically to clear the cookie cache in my browser. I don't have a requirement at the moment to view multiple apps in the same browser so I may not hit the other issue you mentioned Idan (thanks for your quick response though)
This is possibly the same issue as reported in the following APAR: PI48842 Previewing multiple applications in the same browser causing client authentication issues.
The APAR description is not similar to yours, but the error and exception in the stack trace are exactly the same.
[ERROR ] FWLSE0335E: Authorization failed: ClientId xjoWZVkUrR was
not found on the server. [project test]
[ERROR ] FWLSE0048E: Unhandled exception caught: null
com.worklight.authorization.endpoint.OauthAuthorizationException
If you are an IBM customer you can open a PMR (support ticket) and request a fix for this issue once it is available.
I'm trying to raise the Spring Embedded Ldap Server using:
But I'm keep on getting this exception:
2010-06-10 14:33:35,559 ERROR main ApacheDSContainer start - Server startup failed
java.lang.NullPointerException
at org.apache.directory.server.core.schema.DefaultSchemaService.initialize(DefaultSchemaService.java:382)
at org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1425)
at org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:907)
at org.springframework.security.ldap.server.ApacheDSContainer.start(ApacheDSContainer.java:160)
at org.springframework.security.ldap.server.ApacheDSContainer.afterPropertiesSet(ApacheDSContainer.java:113)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:872)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4212)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
I'm using spring 3.0.2 and added the following jars for the ldap:
spring-security-ldap-3.0.2.RELEASE.jar
spring-ldap-1.3.0.RELEASE-all.jar
apacheds-all-1.5.6.jar
shared-ldap-0.9.15.jar
slf4j-api-1.5.6.jar
slf4j-simple-1.5.6.jar
Help please....
#Zorkus: I'm not sure exactly what kind of problem you came across with Apache Directory, and what is the root cause of that, but if all you need is a working embedded java LDAP server for integration testing with Spring Security then you might want to consider some alternatives.
I've recently started to investigate for alternatives, because I couldn't achieve with Apache Directory what I wanted despite a lot of time and effort invested. (I basically wanted to replicate the schema and the user database of an Active Directory instance into an embedded server.)
What I found is that the UnboundID LDAP SDK is a nice replacement. Integrating with it requires a bit more effort than a one-liner in your spring context (like <security:ldap-server/>), but not much more. Starting up an LDAP server requires just a few lines of code:
InMemoryDirectoryServerConfig config =
new InMemoryDirectoryServerConfig("dc=example, dc=com");
// schema config only necessary if the standard
// schema provided by the library doesn't suit your needs
config.setSchema(Schema.getSchema("your-custom-schema.schema"));
// listener config only necessary if you want to make sure that the
// server listens on port 33389, otherwise a free random port will
// be picked at runtime - which might be even better for tests btw.
config.setListenerConfigs(
new InMemoryListenerConfig("myListener", null, 33389, null, null, null));
InMemoryDirectoryServer ds = new InMemoryDirectoryServer(config);
ds.startListening();
// import your test data from ldif files
ds.importFromLDIF(true,"content.ldif");
The only dependency you will need for this to work is:
<dependency>
<groupId>com.unboundid</groupId>
<artifactId>unboundid-ldapsdk</artifactId>
<version>2.3.1</version>
</dependency>
It would be pretty easy to wrap the above code in a class that you can instantiate and configure from your Spring context.
For documentation and code examples on the UnboundID LDAP SDK see: https://www.unboundid.com/products/ldap-sdk/docs/
(I'm not affiliated with UnboundID in any way.)
Check whether the authorization state used by the LDAP client has access to the schema.