nexus ldap配置,验证用户映射成功, verify login error
和ldap角色可以从角色->创建角色->外部角色映射-> ldap-> mapped roles
中获得日志如下:
2018-09-27 20:20:11,402 + 0800错误[qtp1824645432-178]管理 org.sonatype.nexus.extdirect.internal.ExtDirectServlet-失败 调用操作方法:ldap_LdapServer.verifyLogin,java方法: org.sonatype.nexus.ldap.internal.ui.LdapServerComponent.verifyLogin java.lang.Exception:无法连接到LDAP服务器:否这样的用户:A 用户名“ root”的用户不存在于 sun.reflect.GeneratedConstructorAccessor230.newInstance(未知 来源) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83) 在 org.codehaus.groovy.runtime.callsite.ConstructorSite $ ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247) 在 org.sonatype.nexus.ldap.internal.ui.LdapServerComponent.verifyLogin(LdapServerComponent.groovy:252) 在 com.palominolabs.metrics.guice.ExceptionMeteredInterceptor.invoke(ExceptionMeteredInterceptor.java:49) 在 com.palominolabs.metrics.guice.TimedInterceptor.invoke(TimedInterceptor.java:47) 在 org.sonatype.nexus.validation.internal.ValidationInterceptor.invoke(ValidationInterceptor.java:53) 在 org.apache.shiro.guice.aop.AopAllianceMethodInvocationAdapter.proceed(AopAllianceMethodInvocationAdapter.java:49) 在 org.apache.shiro.authz.aop.AuthorizingAnnotationMethodInterceptor.invoke(AuthorizingAnnotationMethodInterceptor.java:68) 在 org.apache.shiro.guice.aop.AopAllianceMethodInterceptorAdapter.invoke(AopAllianceMethodInterceptorAdapter.java:36) 在 org.apache.shiro.guice.aop.AopAllianceMethodInvocationAdapter.proceed(AopAllianceMethodInvocationAdapter.java:49) 在 org.apache.shiro.authz.aop.AuthorizingAnnotationMethodInterceptor.invoke(AuthorizingAnnotationMethodInterceptor.java:68) 在 org.apache.shiro.guice.aop.AopAllianceMethodInterceptorAdapter.invoke(AopAllianceMethodInterceptorAdapter.java:36) 在sun.reflect.GeneratedMethodAccessor539.invoke(未知源) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:498)在 com.softwarementors.extjs.djn.router.dispatcher.DispatcherBase.invokeJavaMethod(DispatcherBase.java:142) 在 com.softwarementors.extjs.djn.router.dispatcher.DispatcherBase.invokeMethod(DispatcherBase.java:133) 在 org.sonatype.nexus.extdirect.internal.ExtDirectServlet $ 3.invokeMethod(ExtDirectServlet.java:233) 在 com.softwarementors.extjs.djn.router.dispatcher.DispatcherBase.dispatch(DispatcherBase.java:63) 在 com.softwarementors.extjs.djn.router.processor.standard.StandardRequestProcessorBase.dispatchStandardMethod(StandardRequestProcessorBase.java:73) 在 com.softwarementors.extjs.djn.router.processor.standard.json.JsonRequestProcessor.processIndividualRequest(JsonRequestProcessor.java:502) 在 com.softwarementors.extjs.djn.router.processor.standard.json.JsonRequestProcessor.processIndividualRequestsInThisThread(JsonRequestProcessor.java:150) 在 com.softwarementors.extjs.djn.router.processor.standard.json.JsonRequestProcessor.process(JsonRequestProcessor.java:133) 在 com.softwarementors.extjs.djn.router.RequestRouter.processJsonRequest(RequestRouter.java:83) 在 com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.processRequest(DirectJNgineServlet.java:617) 在 com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.doPost(DirectJNgineServlet.java:580) 在 org.sonatype.nexus.extdirect.internal.ExtDirectServlet.doPost(ExtDirectServlet.java:138) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:707)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:790)在 com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286) 在 com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276) 在 com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181) 在 com.google.inject.servlet.DynamicServletPipeline.service(DynamicServletPipeline.java:71) 在 com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) 在 org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) 在 com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 在 org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) 在 org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 在 org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) 在 org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) 在 org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) 在 org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 在 org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) 在 org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) 在 org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) 在 org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) 在 org.sonatype.nexus.security.SecurityFilter.executeChain(SecurityFilter.java:85) 在 org.apache.shiro.web.servlet.AbstractShiroFilter $ 1.call(AbstractShiroFilter.java:365) 在 org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) 在 org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) 在 org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) 在 org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) 在 org.sonatype.nexus.security.SecurityFilter.doFilterInternal(SecurityFilter.java:101) 在 org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) 在 com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 在 com.sonatype.nexus.licensing.internal.LicensingRedirectFilter.doFilter(LicensingRedirectFilter.java:108) 在 com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 在 com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:97) 在 com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 在 org.sonatype.nexus.internal.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:68) 在 com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 在 org.sonatype.nexus.internal.web.EnvironmentFilter.doFilter(EnvironmentFilter.java:101) 在 com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 在 org.sonatype.nexus.internal.web.HeaderPatternFilter.doFilter(HeaderPatternFilter.java:98) 在 com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 在 com.google.inject.servlet.DynamicFilterPipeline.dispatch(DynamicFilterPipeline.java:104) 在 com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135) 在 org.sonatype.nexus.bootstrap.osgi.DelegatingFilter.doFilter(DelegatingFilter.java:73) 在 org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1629) 在 org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 在 org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) 在 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) 在 org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) 在 org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) 在 org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) 在 org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) 在 org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) 在 org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) 在 org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) 在 org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) 在 org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 在 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) 在 com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:175) 在 org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) 在 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) 在org.eclipse.jetty.server.Server.handle(Server.java:530)处 org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)在 org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256) 在 org.eclipse.jetty.io.AbstractConnection $ ReadCallback.succeeded(AbstractConnection.java:279) 在org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) 在 org.eclipse.jetty.io.ChannelEndPoint $ 2.run(ChannelEndPoint.java:124) 在 org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247) 在 org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140) 在 org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) 在 org.eclipse.jetty.util.thread.ReservedThreadExecutor $ ReservedThread.run(ReservedThreadExecutor.java:382) 在 org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708) 在 org.eclipse.jetty.util.thread.QueuedThreadPool $ 2.run(QueuedThreadPool.java:626) 在java.lang.Thread.run(Thread.java:748)
答案 0 :(得分:0)
我的详细配置如下: this solution
答案 1 :(得分:0)
您是否尝试使用给定的代理用户uid=admin,ou=system
登录LDAP服务器?因为我认为DN应该改为uid=admin,ou=system,dc=dinfo,dc=com
。
当代理用户失败时,所有用户登录都可能失败。