mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-24 02:58:43 +02:00
n°1617 - meets iTop fence requirements
This commit is contained in:
@@ -34,6 +34,17 @@ class LoginBasic extends AbstractLoginFSMExtension
|
||||
return LoginWebPage::LOGIN_FSM_CONTINUE;
|
||||
}
|
||||
|
||||
protected function OnReadCredentials(&$iErrorCode)
|
||||
{
|
||||
if ($_SESSION['login_mode'] == 'basic')
|
||||
{
|
||||
list($sAuthUser, $sAuthPwd) = $this->GetAuthUserAndPassword();
|
||||
$_SESSION['login_temp_auth_user'] = $sAuthUser;
|
||||
}
|
||||
return LoginWebPage::LOGIN_FSM_CONTINUE;
|
||||
}
|
||||
|
||||
|
||||
protected function OnCheckCredentials(&$iErrorCode)
|
||||
{
|
||||
if ($_SESSION['login_mode'] == 'basic')
|
||||
|
||||
@@ -22,6 +22,9 @@ class LoginDefaultBefore extends AbstractLoginFSMExtension
|
||||
protected function OnStart(&$iErrorCode)
|
||||
{
|
||||
$iErrorCode = LoginWebPage::EXIT_CODE_OK;
|
||||
|
||||
unset($_SESSION['login_temp_auth_user']);
|
||||
|
||||
// Check if proposed login mode is present and allowed
|
||||
$aAllowedLoginTypes = MetaModel::GetConfig()->GetAllowedLoginTypes();
|
||||
$sProposedLoginMode = utils::ReadParam('login_mode', '');
|
||||
@@ -105,6 +108,12 @@ class LoginDefaultAfter extends AbstractLoginFSMExtension implements iLogoutExte
|
||||
self::ResetLoginSession();
|
||||
}
|
||||
|
||||
protected function OnConnected(&$iErrorCode)
|
||||
{
|
||||
unset($_SESSION['login_temp_auth_user']);
|
||||
return LoginWebPage::LOGIN_FSM_CONTINUE;
|
||||
}
|
||||
|
||||
// Hard reset of the session
|
||||
private static function ResetLoginSession()
|
||||
{
|
||||
|
||||
@@ -44,6 +44,8 @@ class LoginForm extends AbstractLoginFSMExtension implements iLoginDataExtension
|
||||
$this->bForceFormOnError = false;
|
||||
exit;
|
||||
}
|
||||
|
||||
$_SESSION['login_temp_auth_user'] = $sAuthUser;
|
||||
$_SESSION['login_mode'] = 'form';
|
||||
}
|
||||
return LoginWebPage::LOGIN_FSM_CONTINUE;
|
||||
|
||||
@@ -15,6 +15,8 @@ class LoginTwigData
|
||||
private $aPostedVars;
|
||||
private $sTwigLoaderPath;
|
||||
private $sCSSFile;
|
||||
/** @var array */
|
||||
private $aJsFiles;
|
||||
|
||||
/**
|
||||
* LoginTwigData constructor.
|
||||
@@ -22,13 +24,15 @@ class LoginTwigData
|
||||
* @param array $aPostedVars
|
||||
* @param string $sLoaderPath
|
||||
* @param string $sCSSFile
|
||||
* @param array $aJsFiles
|
||||
*/
|
||||
public function __construct($aPostedVars = array(), $sLoaderPath = null, $sCSSFile = null)
|
||||
public function __construct($aPostedVars = array(), $sLoaderPath = null, $sCSSFile = null, $aJsFiles = array())
|
||||
{
|
||||
$this->aBlockData = array();
|
||||
$this->aPostedVars = $aPostedVars;
|
||||
$this->sTwigLoaderPath = $sLoaderPath;
|
||||
$this->sCSSFile = $sCSSFile;
|
||||
$this->aJsFiles = $aJsFiles;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -61,6 +65,14 @@ class LoginTwigData
|
||||
{
|
||||
return $this->sCSSFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function GetJsFiles()
|
||||
{
|
||||
return $this->aJsFiles;
|
||||
}
|
||||
}
|
||||
|
||||
class LoginBlockData
|
||||
@@ -172,6 +184,12 @@ class LoginTwigContext
|
||||
{
|
||||
$oPage->add_linked_stylesheet($sCSSFile);
|
||||
}
|
||||
$aJsFiles = $oFormData->GetJsFiles();
|
||||
foreach ($aJsFiles as $sJsFile)
|
||||
{
|
||||
$oPage->add_linked_script($sJsFile);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,6 +38,15 @@ class LoginURL extends AbstractLoginFSMExtension
|
||||
return LoginWebPage::LOGIN_FSM_CONTINUE;
|
||||
}
|
||||
|
||||
protected function OnReadCredentials(&$iErrorCode)
|
||||
{
|
||||
if ($_SESSION['login_mode'] == 'url')
|
||||
{
|
||||
$_SESSION['login_temp_auth_user'] = utils::ReadParam('auth_user', '', false, 'raw_data');
|
||||
}
|
||||
return LoginWebPage::LOGIN_FSM_CONTINUE;
|
||||
}
|
||||
|
||||
protected function OnCheckCredentials(&$iErrorCode)
|
||||
{
|
||||
if ($_SESSION['login_mode'] == 'url')
|
||||
|
||||
Reference in New Issue
Block a user