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; }
/** * 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; }