Php和openldap为过期的密码获取更具体的错误代码

时间:2012-02-21 14:47:49

标签: php openldap

我在为ldap密码过期策略获取更具体的错误号时遇到一些麻烦。事实上,即使密码错误或密码已过期且需要更改密码,我收到的错误号码为49。

我正在使用openldap服务器和php ldap函数。 (ldap_bind,ldap_error和ldap_errno)

我还试图通过使用ldap_get_option($ connect,0x0032,$ extended_error)获得一些额外的信息,但没有成功。

我的ldap服务器中是否有任何配置,因此它将返回更具体的错误号或方法以获取无效凭据错误的原因?

谢谢。

2 个答案:

答案 0 :(得分:0)

使用密码策略覆盖,您可以将其配置为发回锁定错误代码。请参阅http://www.zytrax.com/books/ldap/ch6/ppolicy.html ppolicy_use_lockout锁定选项。您可以实现的另一个很好的功能是密码过期警告和宽限登录。实施过期警告有点棘手。它主要涉及读取从绑定请求返回的响应控件。如果您尝试在Windows上执行此操作,则需要确保php ldap模块链接到openldap客户端库而不是winldap32.dll。我不太了解php说它是或不是。可以说winldap库已经足够破碎,除了Active Directory之外的任何东西都只能用于基础知识而且你永远无法从绑定请求中读取响应控件。

答案 1 :(得分:-1)

您只需使用扩展的修改密码操作,并处理扩展响应。