public function searchByAuth($value) {
		// figure out how many times the placeholder occurs, then fill an
		// array that number of times with the search value
		$numArgs = substr_count($this->search_auth_query, "%s");
		$args = array_fill(0, $numArgs, $value);

		// format the string and then perform the search for each base DN
		$searchStr = vsprintf($this->search_auth_query, $args);

		// iterate over the array of base DNs and perform the searches; we will
		// return the first result set that matches our query
		$results = null;
		foreach($this->basedn_array as $basedn) {
			// add the overlay if it exists
			if(!empty($this->overlay_dn)) {
				// append the overlay if we do have a base DN or use the
				// overlay as the base DN if not
				if(!empty($basedn)) {
					$basedn .= ',' . $this->overlay_dn;
				}
				else
				{
					$basedn = $this->overlay_dn;
				}
			}

			$results = $this->ldap->search($basedn, $searchStr);
			if($this->isValidResult($results)) {
				return $results;
			}
		}

		// ensures that there is some result set that is returned based upon
		// one of the loop iterations even if we did not match our desired
		// condition
		return $results;
	}