WAS 7.0 + LDAP:修复包21后的属性描述无效

时间:2012-06-06 09:34:19

标签: ldap websphere websphere-7

昨天我们在我们的websphere应用服务器7.0上安装了fixpack 21。 我们的一个java web应用程序是使用LDAP对用户进行身份验证,以允许他们访问网站。由于我们安装了fixpack,因此我们无法访问我们的网站。 在日志文件中,我收到以下错误消息:

javax.naming.directory.InvalidSearchFilterException:无效的属性描述;剩余名称'o = testsite.com,c = be'     在com.sun.jndi.ldap.Filter.encodeSimpleFilter(Filter.java:417)     在com.sun.jndi.ldap.Filter.encodeFilter(Filter.java:152)     at com.sun.jndi.ldap.Filter.encodeFilterString(Filter.java:56)     在com.sun.jndi.ldap.LdapClient.search(LdapClient.java:520)     在com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1962)     在com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1824)     在com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1749)     at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368)     在com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338)     at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:321)     在javax.naming.directory.InitialDirContext.search(InitialDirContext.java:248)     在com.testsite.directory.core.DSProxy.getUserGroupsInContext(DSProxy.java:527)     在com.testsite.directory.core.DSProxy.getAllGroups(DSProxy.java:569)     在com.testsite.directory.core.IntranetUser.getUserProfile(IntranetUser.java:112)     在com.testsite.intranet.security.common.UserProvider.getUser(UserProvider.java:22)     在com.testsite.intranet.security.authenticator.Authenticator.checkUserAndPassword(Authenticator.java:220)     在com.testsite.intranet.security.authenticator.Authenticator.checkWebsealAuthentication(Authenticator.java:137)     在com.testsite.intranet.security.authenticator.Authenticator.getUser(Authenticator.java:271)     在com.testsite.intranet.security.authenticator.AuthenticatorFilter.doFilter(AuthenticatorFilter.java:50)     在com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)     在com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)     在org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)     在com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)     在com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)     在com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)     在com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)     在com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934)     在com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)     在com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)     在com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3935)     在com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)     在com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)     在com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)     在com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)     在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)     在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)     在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)     在com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)     at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext $ SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784)     at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:557)     在com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:607)     在com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:984)     在com.ibm.ws.tcp.channel.impl.WorkQueueManager $ Worker.run(WorkQueueManager.java:1069)     在com.ibm.ws.util.ThreadPool $ Worker.run(ThreadPool.java:1604)

在安装修订包之前,我们没有遇到此问题。 我在互联网上搜索了这个特定的错误,但是我找不到任何可以与WAS的fixpack安装相关联的东西。是否有人有同样的问题或有任何建议让它再次发挥作用?

提前致谢。

汤姆

2 个答案:

答案 0 :(得分:1)

您的回复中提供的过滤器是无效的搜索过滤器。在 ' '之后(uniqueMember之前)的空格= 在搜索过滤器中是非法的。 ' '之后的= 是合法的,但是,它可能不是您想要的。

另见

答案 1 :(得分:1)

我们将Websphere 7.0 Fixpack 11升级到Fixpack 19,当然包括Java SDK。这给了我们一些使用ldap搜索的应用程序错误。似乎新的Java SDK对ldap搜索过滤器的解析比旧的更加严格。例如,我们的搜索过滤器具有不平衡的paranthesis和属性名称,非法字符如p_number,在升级之前工作正常。