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

@ -3097,15 +3097,23 @@ class core extends common {
'content' => template::speech('La page <strong>' . $accessInfo['pageId'] . '</strong> est ouverte par l\'utilisateur <strong>' . $accessInfo['userName'] . '</strong>')
]);
} else {
if ( $this->getData(['locale','page403']) !== 'none'
AND $this->getData(['page',$this->getData(['locale','page403'])]))
{
header('Location:' . helper::baseUrl() . $this->getData(['locale','page403']));
// 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 {
$this->addOutput([
'title' => 'Accès interdit',
'content' => template::speech('Vous n\'êtes pas autorisé à consulter cette page (erreur 403)')
]);
if ( $this->getData(['locale','page403']) !== 'none'
AND $this->getData(['page',$this->getData(['locale','page403'])]))
{
header('Location:' . helper::baseUrl() . $this->getData(['locale','page403']));
} else {
$this->addOutput([
'title' => 'Accès interdit',
'content' => template::speech('Vous n\'êtes pas autorisé à consulter cette page (erreur 403)')
]);
}
}
}
} elseif ($this->output['content'] === '') {

View File

@ -966,6 +966,9 @@ if ($this->getData(['core', 'dataVersion']) < 11400) {
$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
/*
$baseUrl = $this->getData(['core', 'baseUrl']);

View File

@ -275,8 +275,6 @@ class config extends common {
}
// Valeurs en sortie
$this->addOutput([
/*'title' => 'Configuration',
'view' => 'index',*/
'redirect' => helper::baseUrl() . 'config',
'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
@ -506,7 +504,8 @@ class config extends common {
'captchaStrong' => $this->getInput('connectCaptchaStrong',helper::FILTER_BOOLEAN),
'autoDisconnect' => $this->getInput('connectAutoDisconnect',helper::FILTER_BOOLEAN),
'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' => [
'enable' => $this->getInput('localei18n',helper::FILTER_BOOLEAN),

View File

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

View File

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