public function findAdUser($username, $password)
    {
        try {
            $this->ad->connect('default');
            if ($this->provider->auth()->attempt($username, $password, true)) {
                $search = $this->provider->search();

                if (is_array($this->_config['select'])) {
                    if (!in_array('memberof', $this->_config['select'])) {
                        $this->_config['select'][] = 'memberof';
                    }

                    $search->select($this->_config['select']);
                }

                $user = $search->whereEquals('samaccountname', $username)->first();
                $attributes = $user->getAttributes();

                if (!is_array($this->_config['ignored'])) {
                    $this->_config['ignored'] = [];
                }

                $attributes = $this->_cleanAttributes($attributes);
                $attributes['groups'] = $this->_cleanGroups($attributes['memberof']);

                return $attributes;
            }

            return false;
        } catch (\Adldap\Exceptions\Auth\BindException $e) {
            throw new \RuntimeException('Failed to bind to LDAP server. Check Auth configuration settings.');
        }
    }