在liferay中尝试“测试LDAP用户”时出现“清空过滤器”异常

时间:2013-10-29 21:24:39

标签: ldap liferay-6

我想用liferay配置LDAP。

当我点击“测试LDAP连接”时,会显示一条消息“Liferay已成功连接到LDAP服务器。”

但是当我点击“测试LDAP用户”时,我会遇到异常。

20:36:38,193 ERROR [http-bio-8080-exec-7] [IncludeTag:253]当前网址/群组/ control_panel / manage?p_p_id = 130& p_p_lifecycle = 0& p_p_state = exclusive& p_p_mode = view& doAsGroupId = 10180& refererPlid = 10183& _130_struts_action =%2Fportal_settings%2Ftest_ldap_users生成异常:javax.servlet.ServletException:javax.naming.directory.InvalidSearchFilterException:空过滤器;剩余名称'ou =用户,ou =群组'

20:36:38,199 ERROR [http-bio-8080-exec-7] [IncludeTag:154] javax.naming.directory.InvalidSearchFilterException:空过滤器;剩余名称'ou =用户,ou =群组'     at com.sun.jndi.ldap.Filter.encodeFilterString(Filter.java:38)     在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.liferay.portal.security.ldap.PortalLDAPUtil.searchLDAP(PortalLDAPUtil.java:760)     at com.liferay.portal.security.ldap.PortalLDAPUtil.getUsers(PortalLDAPUtil.java:557)     在org.apache.jsp.html.portlet.portal_005fsettings.test_005fldap_005fusers_jsp._jspService(test_005fldap_005fusers_jsp.java:563)     在org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)     在javax.servlet.http.HttpServlet.service(HttpServlet.java:722)     在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)     在org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)     在org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)     在javax.servlet.http.HttpServlet.service(HttpServlet.java:722)     在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)     在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

我在portal-ext文件中设置了以下属性。 ldap.base.provider.url.0 = LDAP://本地主机:10389 ldap.base.dn.0 = OU =用户,OU =组

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

不知道Liferay是如何过滤的,我无法想象多个LDAP DN的分隔符将是这行中的逗号: ldap.base.dn.0=ou=Users,ou=Groups

您的用户或组的DN似乎不太可能正确,并且指定多个位置的方式将使用逗号分隔它们,因为当然使用逗号分隔LDAP DN。

答案 1 :(得分:0)

尝试将“身份验证搜索过滤器”的值添加为(cn = @ screen_name @)