Bonjour,
Voila la procédure pour réaliser cela :
Espace sécurisé sous Automne :
--------------------------------
1- Créer un template pour l'authentification des visiteurs (formulaire d'identification) :
Dans ce template, insérer au tout début le code PHP suivant servant à la vérification des données saisies.
Vous pouvez modifier la valeur de la variable $entry_page_id pour changer la page vers ou rediriger l'internaute après authentification.
Code :
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/cms_rc_frontend.php");
//redirection page ID
$entry_page_id = 2
if (strpos($_SERVER["HTTP_REFERER"], 'automne/admin') === false) {
@session_destroy();
@session_start();
}
if ($_POST["send"]) {
//Check data
if ($_POST["login"] && $_POST["password"]) {
$cms_context = new CMS_context($_POST["login"], $_POST["password"]);
if (!$cms_context->hasError()) {
$_SESSION["cms_context"] = $cms_context;
$cms_user = $_SESSION["cms_context"]->getUser();
$cms_language = $cms_user->getLanguage();
// Go to welcome page
if ($cms_user->hasPageClearance($entry_page_id, CLEARANCE_PAGE_VIEW)) {
header("Location: ".getPageURL($entry_page_id)."?".session_name()."=".session_id());
exit;
} else {
$errMsg .= 'Vous n\'avez pas de droits d\'accès suffisants pour entrer';
}
} else {
$errMsg = 'Login ou mot de passe incorrect.';
}
} else {
$errMsg = 'Merci de saisir votre login et votre mot de passe.';
}
}
?>
Dans le template, à l'endroit ou doit se trouver le formulaire, saisir le code PHP suivant servant à l'affichage du formulaire de login:
Code :
<?php
if ($errMsg) {
echo '<span style="color:red;">' . $errMsg . '</span><br /><br />';
}
echo '
<form action="' . $_SERVER["PHP_SELF"] . '" method="post">
<input type="hidden" name="send" value="1" />
Identifiant : <input name="login" type="text" size="40" value="' . $_POST["login"] . '" /><br /><br />
Mot de passe : <input name="password" type="Password" size="40" value="' . $_POST["password"] . '" /><br /><br />
<input type="submit" value="Valider" />
</form>';
?>
2- Créez une page utilisant le template que vous venez de créer.
3- Dans le fichier cms_rc.php, passez la valeur de la constante APPLICATION_ENFORCES_ACCESS_CONTROL à "true" (ou ajoutez la constante dans le fichier config.php pour les Automne > 3.1.0)
4- Dans l'administration d'Automne, Créez un utilisateur ayant comme login "anonymous" et comme mot de passe "anonymous" et donnez à cet utilisateur les droits de voir les pages publiques de votre arborescence (Onglet Droit sur le contenu, créez une section partant de la page d'accueil de votre site et mettez le droit sur "site").
Excluez pour cet utilisateur l'ensemble des pages de l'arborescence qui doivent être accessible après authentification (Onglet Droit sur le contenu, créez une section partant de la page privée de votre site et mettez le droit sur "aucun").
Cet utilisateur ne doit avoir aucun autre droit sur l'administration d'Automne. Donc il ne doit pas avoir de droits sur les modules, les validations, l'édition des pages, les meta-droits.
5- Créez les utilisateurs et groupes pouvant s'authentifier coté public. Ces utilisateurs doivent avoir le droit de voir la partie publique de l'arborescence (Onglet Droit sur le contenu, créez une section partant de la page d'accueil de votre site et mettez le droit sur "site") et doivent aussi avoir le droit de voir des pages dans la partie privée (en particulier la page ou est redirigé l'utilisateur après son authentification).
Si ces utilisateurs n'ont pas a avoir accès à l'administration d'Automne, il ne faut pas leur donner de droits sur les modules, les validations, l'édition des pages, les meta-droits.
6- Régénérez toutes les pages et testez votre site.
En espérant que cela réponde à votre question,
Bien cordialement,
Sébastien