使用ApacheDS 2.0进行Worklight LDAP身份验证

时间:2014-04-30 11:56:16

标签: ldap ibm-mobilefirst

我正在尝试使用密码验证在ApacheDS中配置的用户并从Worklight客户端调用。

我无法从Worklight客户端传递用户名,我尝试使用我在客户端使用的用户名占位符,但它无效。然后我尝试在ApacheDS LDAP服务器中创建的硬编码uid及其工作。任何人都可以帮助我将客户端中提供的用户名传递给LDAP服务器。

我的authconfig文件:

    <className>com.worklight.core.auth.ext.LdapLoginModule</className>
        <parameter name="ldapProviderUrl" value="ldap://localhost:10389"/>
        <parameter name="ldapTimeoutMs" value="2000"/>
        <parameter name="ldapSecurityAuthentication" value="simple"/>
        <parameter name="validationType" value="exists"/>
        <parameter name="ldapSecurityPrincipalPattern" value="uid=Raj,ou=users,ou=system"/>
        <parameter name="ldapSearchFilterPattern" value="(&amp;(uid={usernameInput})(objectclass=inetOrgPerson)"/>                        

我需要使用<parameter name="ldapSecurityPrincipalPattern"&#34;

来处理任何语法

1 个答案:

答案 0 :(得分:4)

您正在使用exists validationType,这意味着如果LDAP连接成功,授权将通过。用于访问ldap服务器的用户名是用{username}替换为authenticator提供的用户名后的ldapSecurityPrincipalPattern参数。用于连接的密码是验证者提供的密码。

例如。我提供'Mike'作为用户名,'pass123'作为我的密码。验证者将这些凭证发送到LdapLoginModule。如果我的ldapSecurityPrincipalPattern是:uid={username},ou=users,ou=system,则将使用密码“pass123”尝试连接到{ddap服务器uid=Mike,ou=users,ou=system。如果登录成功,则授权成功。

如果您还想查询ldap服务器以验证用户,则可以使用searchPattern validationType。用户名可以替换为上面的ldapSearchFilterPattern。如果设置为此validationType,则只有在用户/ pass组合可用于连接LDAP服务器并且查询至少返回一个结果时,授权才会成功。

更多细节可以在这里找到: http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m6/index.jsp?topic=%2Fcom.ibm.worklight.help.doc%2Fdevref%2Fr_ldap_login_module.html