protected function getUserClass($login_name, $organization)
    {
        //First check for project user, as this one can run without a db
        if ((null !== $login_name) && $this->isProjectUser($login_name)) {
            return $this->loadUser(self::USER_PROJECT, $organization, $login_name);
        }


        if (null == $login_name) {
            return $this->loadUser(self::USER_NOLOGIN, $organization, $login_name);
        }

        if (!$this->allowLoginOnWithoutOrganization) {
            if ((null == $organization) || (! intval($organization))) {
                return $this->loadUser(self::USER_NOLOGIN, $organization, $login_name);
            }
        }

        try {
            $select = $this->getUserClassSelect($login_name, $organization);

            if ($row = $this->db->fetchRow($select, null, \Zend_Db::FETCH_NUM)) {
                if ($row[3] == 1 || $this->allowLoginOnOtherOrganization === true) {
                    // \MUtil_Echo::track($row);
                    return $this->loadUser($row[0], $row[1], $row[2]);
                }
            }

        } catch (\Zend_Db_Exception $e) {
            // Intentional fall through
        }

        return $this->loadUser(self::USER_NOLOGIN, $organization, $login_name);
    }