使用多个ldapProviderUrl URL

时间:2016-06-20 06:31:36

标签: ldap ibm-mobilefirst

我们需要进行LDAP身份验证才能登录。它适用于使用单个AD服务器进行检查。

<loginModules>
    <loginModule name="LDAPLoginModule">
        <className>com.worklight.core.auth.ext.LdapLoginModule</className>
        <parameter name="ldapProviderUrl" value="${ldap.security.dom1.url}"/>
        <parameter name="ldapTimeoutMs" value="2000"/>
        <parameter name="ldapSecurityAuthentication" value="simple"/>
        <parameter name="validationType" value="exists"/>
        <parameter name="ldapSecurityPrincipalPattern" value="{username}"/>

    </loginModule>

如果我在ldapprovider URL中使用单个url,它工作正常。我想添加2个ldap url,一个作为主要和&amp;其他作为次要的。我尝试添加逗号&#39;,&#39;已分隔的网址,如果主网页失败,则需要检查辅助网址。 url在worklight.properties中配置如下

ldap.security.dom1.url = LDAP://10.40.88.10/DC=10.40.88.10
ldap.security.dom2.url = LDAP://10.30.88.10/DC=10.30.88.10

代码如下

<parameter name="ldapProviderUrl" value="${ldap.security.dom1.url},${ldap.security.dom2.url}"/>

但它会引发以下错误

LdapLoginModule authentication failed. Reason 'javax.naming.InvalidNameException: Invalid name: DC=10.30.28.10,LDAP://10.40.88.10/DC=10.40.88.10
at javax.naming.ldap.Rfc2253Parser.doParse(Rfc2253Parser.java:111)
at javax.naming.ldap.Rfc2253Parser.parseDn(Rfc2253Parser.java:74)
at javax.naming.ldap.LdapName.parse(LdapName.java:789)
at javax.naming.ldap.LdapName.<init>(LdapName.java:125)
at com.sun.jndi.ldap.LdapNameParser.parse(LdapNameParser.java:39)
at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:299)

请提供建议。

1 个答案:

答案 0 :(得分:0)

根据文档found hereldapProviderUrl应该是单个RFC-2253可解析的URL或IP地址。您收到此错误,因为该模块没有此值的分隔“列表”的概念。