使用 ApacheDS 2.0 的 Worklight LDAP 认证

Posted

技术标签:

【中文标题】使用 ApacheDS 2.0 的 Worklight LDAP 认证【英文标题】:Worklight LDAP authentication using ApacheDS 2.0 【发布时间】:2014-04-30 11:56:15 【问题描述】:

我正在尝试使用密码验证在 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)"/>                        

有什么语法我需要注意&lt;parameter name="ldapSecurityPrincipalPattern"

【问题讨论】:

【参考方案1】:

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

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

如果您还想查询 ldap 服务器以验证用户,您可以使用 searchPatternvalidationType。用户名可以像上面一样替换为 ldapSearchFilterPattern。如果设置为这个validationType,只有当用户/密码组合可以用来连接LDAP服务器并且查询返回至少一个结果时,授权才会成功。

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

【讨论】:

Mike,我尝试更改添加的文件存在于验证类型中并添加, 但出现错误。 FWLSE0138W: LdapLoginModule 认证失败。原因'javax.naming.AuthenticationException:[LDAP:错误代码 49 - INVALID_CREDENTIALS:绑定失败:尝试查找不存在的条目:uid=usernameInputField,ou=users,ou=system] 这里 usernameInputField 是我的占位符跨度> 使用 username 代替 usernameInputField。 username 键会自动被 Worklight 服务器替换为在验证者级别输入的用户名。

以上是关于使用 ApacheDS 2.0 的 Worklight LDAP 认证的主要内容,如果未能解决你的问题,请参考以下文章

ApacheDS 和 Kerberos 设置

apacheDS ldap 安装,配置,增删查该及备份恢复

apacheDS ldap 安装,配置,增删查该及备份恢复

apacheds的客户端

使用 ADAM 进行身份验证。如何将 ApacheDS Studio 与 ADAM 连接

带有 apacheds 的示例活动目录 ldif 文件