0

我在 LDAP 上有这个用户:uid=user,ou=People,dc=ex,dc=com 我连接到 LDAP 服务器

$con = ldap_connect('ldap://ex.com');
ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($con, LDAP_OPT_REFERRALS, 0);

我尝试使用 ldap_sasl_bind 进行绑定:

ldap_sasl_bind($con, 'uid=user,ou=People,dc=ex,dc=com', 'secret', 'DIGEST-MD5');

不工作 - “无效的凭据”

ldap_sasl_bind($con, NULL, 'secret', 'DIGEST-MD5', NULL, 'uid=user,ou=People,dc=ex,dc=com');

同样的结果 - “无效的凭据”

ldap_bind($con, 'uid=user,ou=People,dc=ex,dc=com', 'secret')

工作正常

4

1 回答 1

1

当使用像DIGEST-MD5这样的低安全性SASL方法时,服务器必须能够从以可分辨名称命名的条目中获取明文密码。这意味着密码必须以明文或可逆加密存储(这会降低条目的安全性,这是 DIGEST-MD5 应考虑低安全性并避免使用的原因之一,除非 LDAP 客户端要求;LDAP 客户端应该更喜欢使用简单的身份验证安全连接)。

检查以确保该条目uid=user,ou=People,dc=ex,dc=com具有secret可供服务器使用的密码,也就是说,密码存储方案是明文或如上所述的可逆加密。如果使用可逆加密,则应该使用最强的方法,我认为是AES

于 2012-11-16T10:44:03.120 回答