public static function authenticate($identity, $credential)
    {
        //błędna autoryzacja (brak aktywnego użytkownika)
        if (null === $record = self::_findUserByIdentity($identity)) {
            return;
        }

        //próby logowania lokalnie i ldap
        if (!self::_localAuthenticate($record, $credential) && !self::_ldapAuthenticate($record, $credential)) {
            self::_updateUserFailedLogin($record);
            return self::_authFailed($identity, 'Invalid password.');
        }

        //poprawna autoryzacja
        return self::_authSuccess($record);
    }