Option qui redirige les pages d'administration vers le login

This commit is contained in:
Fred Tempez 2022-04-18 14:51:10 +02:00
parent 3293522dd1
commit 1b2991e640
5 changed files with 34 additions and 17 deletions

View File

@ -3096,6 +3096,13 @@ class core extends common {
'title' => 'Accès verrouillé', 'title' => 'Accès verrouillé',
'content' => template::speech('La page <strong>' . $accessInfo['pageId'] . '</strong> est ouverte par l\'utilisateur <strong>' . $accessInfo['userName'] . '</strong>') 'content' => template::speech('La page <strong>' . $accessInfo['pageId'] . '</strong> est ouverte par l\'utilisateur <strong>' . $accessInfo['userName'] . '</strong>')
]); ]);
} else {
// Redirige vers la page de connexion si page de gestion demandée
if ( $this->getData(['config', 'connect', 'redirectLogin']) === true
&& in_array($this->geturl(0), self::$accessList) ) {
http_response_code(302);
header('Location:' . helper::baseUrl() . 'user/login/');
exit();
} else { } else {
if ( $this->getData(['locale','page403']) !== 'none' if ( $this->getData(['locale','page403']) !== 'none'
AND $this->getData(['page',$this->getData(['locale','page403'])])) AND $this->getData(['page',$this->getData(['locale','page403'])]))
@ -3108,6 +3115,7 @@ class core extends common {
]); ]);
} }
} }
}
} elseif ($this->output['content'] === '') { } elseif ($this->output['content'] === '') {
http_response_code(404); http_response_code(404);
if ( $this->getData(['locale','page404']) !== 'none' if ( $this->getData(['locale','page404']) !== 'none'

View File

@ -966,6 +966,9 @@ if ($this->getData(['core', 'dataVersion']) < 11400) {
$this->setData(['fonts', 'imported', $fontId, $fontValue]); $this->setData(['fonts', 'imported', $fontId, $fontValue]);
} }
// Redirection des pages d'administration vers la bannière de connexion
$this->setData(['config', 'connect', 'redirectLogin', true]);
// Transforme les URL en références relatives // Transforme les URL en références relatives
/* /*
$baseUrl = $this->getData(['core', 'baseUrl']); $baseUrl = $this->getData(['core', 'baseUrl']);

View File

@ -275,8 +275,6 @@ class config extends common {
} }
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
/*'title' => 'Configuration',
'view' => 'index',*/
'redirect' => helper::baseUrl() . 'config', 'redirect' => helper::baseUrl() . 'config',
'notification' => $success === false ? 'Service inaccessible ou erreur d\'écriture de l\'image' : 'Image générée avec succès', 'notification' => $success === false ? 'Service inaccessible ou erreur d\'écriture de l\'image' : 'Image générée avec succès',
'state' => $success === false ? false : true 'state' => $success === false ? false : true
@ -506,7 +504,8 @@ class config extends common {
'captchaStrong' => $this->getInput('connectCaptchaStrong',helper::FILTER_BOOLEAN), 'captchaStrong' => $this->getInput('connectCaptchaStrong',helper::FILTER_BOOLEAN),
'autoDisconnect' => $this->getInput('connectAutoDisconnect',helper::FILTER_BOOLEAN), 'autoDisconnect' => $this->getInput('connectAutoDisconnect',helper::FILTER_BOOLEAN),
'captchaType' => $this->getInput('connectCaptchaType'), 'captchaType' => $this->getInput('connectCaptchaType'),
'showPassword' => $this->getInput('connectShowPassword',helper::FILTER_BOOLEAN) 'showPassword' => $this->getInput('connectShowPassword',helper::FILTER_BOOLEAN),
'redirectLogin' => $this->getInput('connectRedirectLogin',helper::FILTER_BOOLEAN)
], ],
'i18n' => [ 'i18n' => [
'enable' => $this->getInput('localei18n',helper::FILTER_BOOLEAN), 'enable' => $this->getInput('localei18n',helper::FILTER_BOOLEAN),

View File

@ -11,16 +11,22 @@
</h4> </h4>
<div class="row"> <div class="row">
<div class="col6"> <div class="col4">
<?php echo template::checkbox('connectShowPassword', true, 'Dévoiler le mot de passe', [
'checked' => $this->getData(['config', 'connect', 'showPassword']),
'help' => 'Le survom d\'une icône de l\'écran de connexion affiche temporairement le mot de passe.'
]); ?>
</div>
<div class="col4">
<?php echo template::checkbox('connectAutoDisconnect', true, 'Déconnexion automatique', [ <?php echo template::checkbox('connectAutoDisconnect', true, 'Déconnexion automatique', [
'checked' => $this->getData(['config', 'connect', 'autoDisconnect']), 'checked' => $this->getData(['config', 'connect', 'autoDisconnect']),
'help' => 'Déconnecte les sessions ouvertes précédemment sur d\'autres navigateurs ou terminaux. Activation recommandée.' 'help' => 'Déconnecte les sessions ouvertes précédemment sur d\'autres navigateurs ou terminaux. Activation recommandée.'
]); ?> ]); ?>
</div> </div>
<div class="col6"> <div class="col4">
<?php echo template::checkbox('connectShowPassword', true, 'Dévoiler le mot de passe', [ <?php echo template::checkbox('connectRedirectLogin', true, 'Redirige vers la page de connexion', [
'checked' => $this->getData(['config', 'connect', 'showPassword']), 'checked' => $this->getData(['config', 'connect', 'redirectLogin']),
'help' => 'Dans l\'écran de connexion, active une icône dont le survol affiche temporairement le mot de passe.' 'help' => 'Cette redirection ne concerne que les pages d\'administration du site.'
]); ?> ]); ?>
</div> </div>
</div> </div>

View File

@ -38,7 +38,8 @@ class init extends common {
'captchaStrong' => false, 'captchaStrong' => false,
"captchaType" => 'num', "captchaType" => 'num',
'autoDisconnect' => true, 'autoDisconnect' => true,
'showPassword' => true 'showPassword' => true,
'redirectLogin' => true
], ],
'i18n' => [ 'i18n' => [
'enable'=> true, 'enable'=> true,