user->getByUsername($login); if (! $user) { $this->createUser($login); $user = $this->user->getByUsername($login); } // Create the user session $this->user->updateSession($user); // Update login history $this->lastLogin->create( LastLogin::AUTH_REVERSE_PROXY, $user['id'], $this->user->getIpAddress(), $this->user->getUserAgent() ); return true; } return false; } /** * Create automatically a new local user after the authentication * * @access private * @param string $login Username * @return bool */ private function createUser($login) { return $this->user->create(array( 'email' => strpos($login, '@') !== false ? $login : '', 'username' => $login, 'is_admin' => REVERSE_PROXY_DEFAULT_ADMIN === $login, 'is_ldap_user' => 1, )); } }