GetAuthUser(); if ($sAuthUser && (strlen($sAuthUser) > 0)) { $_SESSION['login_mode'] = 'external'; } } break; case LoginWebPage::LOGIN_STATE_CHECK_CREDENTIALS: if ($_SESSION['login_mode'] == 'external') { $sAuthUser = $this->GetAuthUser(); if (!UserRights::CheckCredentials($sAuthUser, '', $_SESSION['login_mode'], 'external')) { $iErrorCode = LoginWebPage::EXIT_CODE_WRONGCREDENTIALS; return LoginWebPage::LOGIN_FSM_RETURN_ERROR; } } break; case LoginWebPage::LOGIN_STATE_CREDENTIAL_OK: if ($_SESSION['login_mode'] == 'external') { $sAuthUser = $this->GetAuthUser(); LoginWebPage::OnLoginSuccess($sAuthUser, 'external', $_SESSION['login_mode']); } break; case LoginWebPage::LOGIN_STATE_CONNECTED: if ($_SESSION['login_mode'] == 'external') { $_SESSION['can_logoff'] = false; return LoginWebPage::CheckLoggedUser($iErrorCode); } break; } return LoginWebPage::LOGIN_FSM_RETURN_CONTINUE; } /** * @return bool */ private function GetAuthUser() { $sExtAuthVar = MetaModel::GetConfig()->GetExternalAuthenticationVariable(); // In which variable is the info passed ? eval('$sAuthUser = isset('.$sExtAuthVar.') ? '.$sExtAuthVar.' : false;'); // Retrieve the value /** @var string $sAuthUser */ return $sAuthUser; // Retrieve the value } }