我们需要进行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)
请提供建议。
答案 0 :(得分:0)
根据文档found here,ldapProviderUrl
应该是单个RFC-2253可解析的URL或IP地址。您收到此错误,因为该模块没有此值的分隔“列表”的概念。