Ejemplo n.º 1
0
function ldap_auth_user_id($username)
{
    global $config, $ds;
    $userid = -1;
    ldap_init();
    ldap_bind_dn();
    $userdn = $config['auth_ldap_groupmembertype'] == 'fulldn' ? ldap_internal_dn_from_username($username) : $config['auth_ldap_prefix'] . $username . $config['auth_ldap_suffix'];
    $filter = "(" . str_ireplace($config['auth_ldap_suffix'], '', $userdn) . ")";
    print_debug("LDAP[Filter][{$filter}][" . trim($config['auth_ldap_suffix'], ', ') . "]");
    $search = ldap_search($ds, trim($config['auth_ldap_suffix'], ', '), $filter);
    $entries = ldap_get_entries($ds, $search);
    if ($entries['count']) {
        $userid = ldap_internal_auth_user_id($entries[0]);
        print_debug("LDAP[UserID][{$userid}]");
    } else {
        print_debug("LDAP[UserID][User not found through filter]");
    }
    return $userid;
}
Ejemplo n.º 2
0
/**
 * Retrieve user id for specified user.
 *
 * @param string $username Username to retrieve the ID for
 * @return int User's ID
 */
function ldap_auth_user_id($username)
{
    global $config, $ds;
    $userid = -1;
    ldap_init();
    ldap_bind_dn();
    $userdn = $config['auth_ldap_groupmembertype'] == 'fulldn' ? ldap_internal_dn_from_username($username) : $config['auth_ldap_prefix'] . $username . $config['auth_ldap_suffix'];
    //$filter = "(" . str_ireplace($config['auth_ldap_suffix'], '', $userdn) . ")";
    //$filter = "(&(objectClass=".$config['auth_ldap_objectclass'].")(".$config['auth_ldap_attr']['uid']."=" . $username . "))";
    $filter_params = array();
    $filter_params[] = ldap_filter_create('objectClass', $config['auth_ldap_objectclass']);
    $filter_params[] = ldap_filter_create($config['auth_ldap_attr']['uid'], $username);
    $filter = ldap_filter_combine($filter_params);
    print_debug("LDAP[Filter][{$filter}][" . trim($config['auth_ldap_suffix'], ', ') . "]");
    $search = ldap_search($ds, trim($config['auth_ldap_suffix'], ', '), $filter);
    $entries = ldap_get_entries($ds, $search);
    //print_vars($entries);
    if ($entries['count']) {
        $userid = ldap_internal_auth_user_id($entries[0]);
        print_debug("LDAP[UserID][{$userid}]");
    } else {
        print_debug("LDAP[UserID][User not found through filter]");
    }
    return $userid;
}