Worklight LDAP身份验证,具有超过1个LDAPPROVIDERURL URL



我们需要进行登录的LDAP身份验证。它可以使用单个广告服务器进行检查。

<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;其他为次要。我尝试添加逗号',"分开的URL,如果主要失败,则需要检查次级URL。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)

友善的建议。

根据此处的文档,ldapProviderUrl预计将是一个单一的RFC-2253可租用URL或IP地址。您正在收到此错误,因为该模块对此值没有界定的"列表"概念。

最新更新