我目前正在尝试使用带有Worklight的LDAP loginModule对移动应用程序用户进行身份验证。
我没有使用UID属性作为用户名,而是希望通过电子邮件地址对用户进行身份验证(LDAP用户条目中的“mail”字段)。
我阅读了IBM Worklight文档并按照教程进行操作,但我真的不明白如何使用LDAP登录模块。 我试过这个loginModule配置:
<loginModule name="LDAPLoginModule">
<className>com.worklight.core.auth.ext.LdapLoginModule</className>
<parameter name="ldapProviderUrl" value="ldap://localhost:389"/>
<parameter name="ldapTimeoutMs" value="2000"/>
<parameter name="ldapSecurityAuthentication" value="simple"/>
<parameter name="validationType" value="searchPattern"/>
<parameter name="ldapSecurityPrincipalPattern" value="{username}"/>
<parameter name="ldapSearchFilterPattern" value="(mail={username})"/>
<parameter name="ldapSearchBase" value="ou=people,dc=mycompany,dc=com"/>
</loginModule>
但LDAP返回错误409:凭据无效。
你有想法帮助我吗?
非常感谢!
答案 0 :(得分:0)
请使用此link了解与示例项目相关的Worklight相关示例项目。
您也可以在Authentication and security
AFAIK
我不确定ldapSecurityAuthentication的无选项。
上面的信息是我从LDAP管理员那里得到的。我也是LDAP的新手
答案 1 :(得分:0)
感谢您的答案,这些答案对我有很多帮助。
应用程序要求在本周开始时发生了变化,我现在需要使用UID对用户进行身份验证。 我已成功完成此配置:
<loginModule name="LDAPLoginModule">
<className>com.worklight.core.auth.ext.LdapLoginModule</className>
<parameter name="ldapProviderUrl" value="ldap://localhost:389"/>
<parameter name="ldapTimeoutMs" value="2000"/>
<parameter name="ldapSecurityAuthentication" value="simple"/>
<parameter name="validationType" value="searchPattern"/>
<parameter name="ldapSecurityPrincipalPattern" value="uid={username},OU=people,DC=mycompany,DC=com"/>
<parameter name="ldapSearchFilterPattern" value="(uid={username})"/>
<parameter name="ldapSearchBase" value="OU=people,DC=mycompany,DC=com"/>
</loginModule>
它的工作非常顺利,所以我的问题得到了解决。
但是,要解决这篇文章,我仍在尝试使用电子邮件地址对用户进行身份验证,但我不知道如何执行此操作。也许唯一的解决方案是使用自定义身份验证模块并使用LDAP Java库吗?
非常感谢。