0

我正在使用 PHP 连接到 Oracle OID LDAP - 我正在使用不同的帐户类型进行测试;在这种情况下,我知道一个帐户已过期(OID 错误 9000 - http://docs.oracle.com/cd/E15523_01/oid.1111/e10029/trblsht.htm#CHDJHCHC)但 PHP 只是返回错误 49( ldap_errno) 这只是通用的无效凭据错误。

是否有其他功能或方法可以从服务器获取更详细的消息?

4

1 回答 1

0

IIRC,诸如此类的 OID 错误代码不会通过网络传输(尽管 wireshark 会告诉你)。但是,通常存在扩展错误的概念。

您应该能够使用 PHP 中的 ldap_get_option 函数,使用 LDAP_OPT_ERROR_NUMBER 和 LDAP_OPT_ERROR_STRING 选项来获取扩展代码(和字符串)。

以上应该足以为您提供“扩展”诊断;但请记住,这可能是特定于目录实现的。

我在http://www.php.net/manual/en/function.ldap-get-option.php上看到有一个类似的(尽管对于 AD)示例,它使用(显然未记录的)LDAP_OPT_DIAGNOSTIC_MESSAGE。

于 2014-04-02T21:23:12.390 回答