WSO2 API Manager LDAP Connection отключается и снова подключается - PullRequest
0 голосов
/ 27 сентября 2019

Мы настроили ReadOnlyLDAPConnection в качестве хранилища пользователей в WSo2 Identity Server и WSo2 API Manager.Соединение успешно установлено, и мы можем получить доступ к хранилищам пользователей как с сервера идентификации WSo2, так и с помощью менеджера API.Но мы часто получаем приведенную ниже ошибку, когда соединение отключается и снова подключается автоматически.На этом этапе аутентификация наших приложений не удалась.

    <?xml version="1.0" encoding="UTF-8"?><UserStoreManager class="org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager">
          <Property name="ConnectionURL">ldap://us.ad.<LDAP>:389</Property>
          <Property name="ConnectionName">usernmae</Property>
          <Property encrypted="false" name="ConnectionPassword">password</Property>
          <Property name="UserSearchBase">DC=us,DC=ad,DC=ldap,DC=com</Property>
          <Property name="UserNameAttribute">username</Property>
          <Property name="UserNameSearchFilter">(&amp;(objectClass=person)(username=?))</Property>
          <Property name="UserNameListFilter">(objectClass=person)</Property>
          <Property name="UserDNPattern"/>
          <Property name="DisplayNameAttribute">username</Property>
          <Property name="Disabled">false</Property>
          <Property name="ReadGroups">true</Property>
          <Property name="GroupSearchBase">ou=Groups,DC=us,DC=ad,DC=username,DC=com</Property>
          <Property name="GroupNameAttribute">cn</Property>
          <Property name="GroupNameSearchFilter">(&amp;amp;(objectClass=groupOfNames)(cn=?))</Property>
          <Property name="GroupNameListFilter">(objectClass=groupOfNames)</Property>
          <Property name="RoleDNPattern"/>
          <Property name="MembershipAttribute">member</Property>
          <Property name="MemberOfAttribute"/>
          <Property name="BackLinksEnabled">false</Property>
          <Property name="Referral">follow</Property>
          <Property name="ReplaceEscapeCharactersAtUserLogin">true</Property>
          <Property name="SCIMEnabled">false</Property>
          <Property name="PasswordHashMethod">PLAIN_TEXT</Property>
          <Property name="MultiAttributeSeparator">,</Property>
          <Property name="MaxUserNameListLength">100</Property>
          <Property name="MaxRoleNameListLength">100</Property>
          <Property name="UserRolesCacheEnabled">true</Property>
          <Property name="ConnectionPoolingEnabled">false</Property>
          <Property name="LDAPConnectionTimeout">5000</Property>
          <Property name="ReadTimeout">5000</Property>
          <Property name="RetryAttempts">0</Property>
          <Property name="CountRetrieverClass"/>
          <Property name="java.naming.ldap.attributes.binary"/>
          <Property name="ClaimOperationsSupported">false</Property>
          <Property name="MembershipAttributeRange">0</Property>
          <Property name="UserCacheExpiryMilliseconds"/>
          <Property name="UserDNCacheEnabled">true</Property>
          <Property name="DomainName">ldap</Property>
          <Property name="Description"/>
    </UserStoreManager>```

    error which we are getting 

TID: [-1234] [] [2019-09-24 08:22:04,170] ERROR {org.wso2.carbon.user.core.ldap.LDAPConnectionContext} -  Error obtaining connection. us.ad.<ldap>:389 {org.wso2.carbon.user.core.ldap.LDAPConnectionContext}
javax.naming.CommunicationException: us.ad.<Ldap>.com:389 [Root exception is java.net.SocketTimeoutException: connect timed out]
                at com.sun.jndi.ldap.Connection.<init>(Connection.java:216)
                at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:137)
                at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1615)
                at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2749)
                at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:319)
                at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:192)
                at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:210)
                at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:153)
                at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:83)
                at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
                at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
                at javax.naming.InitialContext.init(InitialContext.java:244)
                at javax.naming.InitialContext.<init>(InitialContext.java:216)
                at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101)
                at org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:180)
                at org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.getNameInSpaceForUserName(ReadOnlyLDAPUserStoreManager.java:2121)
                at org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.getNameInSpaceForUserName(ReadOnlyLDAPUserStoreManager.java:2101)
                at org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.doAuthenticate(ReadOnlyLDAPUserStoreManager.java:434)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager.authenticateInternal(AbstractUserStoreManager.java:563)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager.access$100(AbstractUserStoreManager.java:75)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager$4.run(AbstractUserStoreManager.java:476)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager$4.run(AbstractUserStoreManager.java:473)
                at java.security.AccessController.doPrivileged(Native Method)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager.authenticate(AbstractUserStoreManager.java:473)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager.authenticateInternal(AbstractUserStoreManager.java:585)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager.access$100(AbstractUserStoreManager.java:75)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager$4.run(AbstractUserStoreManager.java:476)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager$4.run(AbstractUserStoreManager.java:473)
                at java.security.AccessController.doPrivileged(Native Method)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager.authenticate(AbstractUserStoreManager.java:473)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager$3.run(AbstractUserStoreManager.java:461)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager$3.run(AbstractUserStoreManager.java:452)
                at java.security.AccessController.doPrivileged(Native Method)
                at org.wso2.carbon.user.core.common.AbstractUserStoreManager.authenticate(AbstractUserStoreManager.java:452)
                at org.wso2.carbon.identity.oauth2.token.handlers.grant.PasswordGrantHandler.validateGrant(PasswordGrantHandler.java:100)
                at org.wso2.carbon.apimgt.keymgt.handlers.ExtendedPasswordGrantHandler.validateGrant(ExtendedPasswordGrantHandler.java:103)
                at org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer.issue(AccessTokenIssuer.java:212)
                at org.wso2.carbon.identity.oauth2.OAuth2Service.issueAccessToken(OAuth2Service.java:223)
                at org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint.getAccessToken(OAuth2TokenEndpoint.java:287)
                at org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint.issueAccessToken(OAuth2TokenEndpoint.java:151)
                at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:188)
                at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:104)
                at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:204)
                at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:101)
                at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
                at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94)
                at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
                at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
                at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:249)
                at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)
                at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)
                at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153)
                at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
                at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:289)
                at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
                at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
                at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
                at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:120)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
                at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
                at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
                at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
                at org.wso2.carbon.event.receiver.core.internal.tenantmgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:48)
                at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
                at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
                at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
                at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
                at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
                at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
                at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1756)
                at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1715)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketTimeoutException: connect timed out
                at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
                at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
                at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
                at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
                at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
                at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
                at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
                at java.net.Socket.connect(Socket.java:589)
                at sun.reflect.GeneratedMethodAccessor250.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at com.sun.jndi.ldap.Connection.createSocket(Connection.java:350)
                at com.sun.jndi.ldap.Connection.<init>(Connection.java:203)
                ... 91 more



...