我们需要进行登录的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地址。您正在收到此错误,因为该模块对此值没有界定的"列表"概念。