【问题标题】:"Empty Filter" exception while trying to "test LDAP users" in liferay尝试在 liferay 中“测试 LDAP 用户”时出现“空过滤器”异常
【发布时间】:2013-10-29 21:24:39
【问题描述】:

我想用 liferay 配置 LDAP。

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

但是当我点击“测试 LDAP 用户”时,我得到以下异常。

20:36:38,193 错误 [http-bio-8080-exec-7][IncludeTag:253] 当前 URL /group/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=%2 %2Ftest_ldap_users 产生异常:javax.servlet.ServletException:javax.naming.directory.InvalidSearchFilterException:空过滤器;剩余名称 'ou=Users,ou=Groups'

20:36:38,199 错误 [http-bio-8080-exec-7][IncludeTag:154] javax.naming.directory.InvalidSearchFilterException:空过滤器;剩余名称 'ou=Users,ou=Groups' 在 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) 在 com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368) 在 com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338) 在 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) 在 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://localhost:10389 ldap.base.dn.0=ou=用户,ou=组

有什么建议吗?

【问题讨论】:

    标签: ldap liferay-6


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-08
        相关资源
        最近更新 更多