©
This document uses PHP Chinese website manual Release
(PHP 5)
ldap_sasl_bind — Bind to LDAP directory using SASL
$link
[, string $binddn
= NULL
[, string $password
= NULL
[, string $sasl_mech
= NULL
[, string $sasl_realm
= NULL
[, string $sasl_authc_id
= NULL
[, string $sasl_authz_id
= NULL
[, string $props
= NULL
]]]]]]] )本函数还未编写文档,仅有参数列表。
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Note: Requirement
ldap_sasl_bind() requires SASL support (sasl.h). Be sure --with-ldap-sasl is used when configuring PHP otherwise this function will be undefined.
版本 | 说明 |
---|---|
5.3.3 | Support on Windows was added. |
[#1] mbaynton [2014-07-16 15:01:56]
A hint for debugging bind failures in your environment: many of the warnings PHP issues from this mehod begin "PHP Warning: ldap_sasl_bind(): Unable to bind to server: [reason]" where [reason] can be a variety of strings. This makes it appear the failure originates with ldap_sasl_bind, but all [reason]s really come from the underlying c function ldap_sasl_interactive_bind_s. That function is used by lots of software besides php, so I've found a greater wealth of troubleshooting information by searching the web for "ldap_sasl_interactive_bind_s [reason]"
[#2] devel at romanr dot info [2012-10-10 20:16:17]
There is some reenterability bug: you can't use this function several times in a single process. PHP process (apache or fastcgi) should be restarted. Consider PHP_FCGI_MAX_REQUESTS=1
[#3] dwhite at olp dot net [2007-09-22 17:30:04]
With the patch introduced in the bug below (which has been included in CVS), the parameters for this function should be:
bool ldap_sasl_bind ( resource $link [, string $binddn [, string $password [, string $sasl_mech [, string $sasl_realm [, string $sasl_authc_id [, string $sasl_authz_id [, string $props]]]]]]] )
Some example calls:
$r=ldap_sasl_bind ( $ds, NULL, 'mysecret', 'DIGEST-MD5', NULL, 'jimmy');
With authz_id, specifying a dn:
$r=ldap_sasl_bind ( $ds, NULL, 'mysecret', 'DIGEST-MD5', NULL, 'jimmy', 'dn:uid=tommy,ou=people,dc=example,dc=com');
With authz_id, specifying a SASL username:
$r=ldap_sasl_bind ( $ds, NULL, 'mysecret', 'DIGEST-MD5', NULL, 'jimmy', 'u:tommy');
Also, since SASL authentication was introduced in LDAP version 3,
you may need to explicitly set the version number with:
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
[#4] dahgdevash at gmail dot com [2007-05-25 22:44:31]
Bug , the function parameters are sent incorrectly to the server
Look at:
http://bugs.php.net/bug.php?id=39291