Php 如何检查LDAP用户是否已禁用?

Php 如何检查LDAP用户是否已禁用?,php,active-directory,ldap,Php,Active Directory,Ldap,我试图通过PHP脚本检查LDAP使用r是否被禁用 在我的脚本中,我使用以下两行: $user_info=$adldap->user()->info($username,array("useraccountcontrol")); <br> $enabled = (($user_info[0]['useraccountcontrol'][0] & 2) == 0); $user\u info=$adldap->user()->info($username,array

我试图通过
PHP脚本
检查LDAP使用r是否被禁用

在我的脚本中,我使用以下两行:

$user_info=$adldap->user()->info($username,array("useraccountcontrol")); <br>
$enabled = (($user_info[0]['useraccountcontrol'][0] & 2) == 0);
$user\u info=$adldap->user()->info($username,array(“useraccountcontrol”))
$enabled=($user_info[0]['useraccountcontrol'][0]&2)==0);
我已经为启用的用户和禁用的用户测试了脚本,但是变量
$enabled
对这两个用户都返回TRUE


有什么想法吗?谢谢

我认为这取决于LDAP如何存储用户被禁用的信息。因此,更多关于所用系统的信息可能有助于找到答案。您是在查询OPenLDAP、ActiveDirectory、OpenDirectory还是其他任何东西?我们谈论的是SMB禁用还是LDAP禁用?我支持这一点。如果没有看到您的模式和对代码的一点解释,很难回答。例如,OpenLDAP在内置模式中既没有内置机制,也没有启用标准的属性。我们使用自定义属性isEnabled实现了启用的特性。