使用LDAP测试应用程序

时间:2011-12-01 19:03:23

标签: testing ldap

我正处于测试将使用LDAP进行用户身份验证的应用程序的准备阶段。您可以为此努力提供哪些建议或建议?

我对LDAP没有很好的理解,但我相信所有将要使用的是应用程序客户端使用用户名调用LDAP并查看密码是否匹配。这是一个准确的描述吗?还有什么边缘情况要测试?感谢。

4 个答案:

答案 0 :(得分:2)

LDAP身份验证通常(但不总是)是一个两步过程:首先,应用程序执行LDAP查询以找到用户尝试进行身份验证的帐户的“可分辨名称”(dn),然后尝试记录使用用户提供的密码在(“bind”中,在LDAP用语中)作为dn。

如果“绑定”尝试有效,则应用程序知道密码是否正确。 (出于明显的安全原因,LDAP服务器可能未配置为允许应用程序实际提取密码并自行进行比较。)

启用LDAP的应用程序通常需要一种配置方式:

  • LDAP服务器的主机名/端口
  • 搜索库(例如,dc = mycompany,dc = org)
  • 用户搜索过滤器(例如“(|(cn =%userid)(mail =%userid))”)
  • 初始LDAP查询的应用程序凭据(除非服务器允许匿名查询)

您很可能需要支持SSL,因此不要以明文形式将用户密码发送到LDAP服务器。

答案 1 :(得分:1)

这在很大程度上取决于您的技术。

如果你直接查询ldap,你必须关心性能,例如您的查询速度有多快,您需要多长时间执行一次,以及服务器的大小是否合适。

如果您正在使用某种提供SSO的容器,那么这些容器通常会有一些缓存功能等等。您必须检查一切是否正常工作。

答案 2 :(得分:0)

您需要ldap_connect和ldap_bind函数。此外,一旦与ldap服务器绑定,您就可以在ldap上搜索条目并获取用户信息。

答案 3 :(得分:0)

你一定要检查编码是否处理得当(在密码中尝试变音符号或其他奇怪的东西)。

并注意使用您关心的LDAP服务器,Active Directory,OpenLdap,Apaches LDAP Server和其他一些服务器进行测试,它们可能会显示不同的行为。

同时检查客户端是否正确处理'推荐',例如当您尝试在其他域中查找用户时(例如,安装了forrest trust的两个AD forrests)。