0

你好,我的朋友们,我正在尝试从活动目录中获取一些数据,但是当以大写字母或混合字母存储 eamil 时出现问题,我希望 ldap_search() 搜索 AD 忽略字母的大小写,这是我的功能并提前谢谢你

    function LDAPget($email)
    {
        $ldap['server'] = 'xx.xx.xx.xx';
        $ldap['user'] = 'x';
        $ldap['pass'] = 'any';
        $ds = ldap_connect($ldap['server']); 
        $bind = ldap_bind($ds, $ldap['user'], $ldap['pass']);
        $filter = "(mail=$email)";
        $sr = ldap_search($ds, $ldap['base_dn'], $filter, array('*'));
        $rows = ldap_get_entries($ds, $sr);
}
4

2 回答 2

0

LDAP 客户端必须使用exactMatch过滤器中的匹配规则。使用哪个caseExact匹配规则取决于存储在模式中的属性定义。每个属性都有自己的属性类型、语法、匹配规则和其他信息。如果 LDAP 目录服务器不符合 LDAP,则可能不支持可扩展的匹配过滤器,在这种情况下,应用程序必须处理从 LDAP 目录服务器检索的数据。

也可以看看

于 2013-10-24T12:41:27.797 回答
0

strcasecmp 函数成功了

    if (strcasecmp($rows[0][$filtername][0], $usereinfo) == 0 ) {

//problem solved 
}
于 2014-08-20T21:36:37.897 回答