CMS Automne
http://www.automne-cms.org/forum/

Espace réservé
http://www.automne-cms.org/forum/viewtopic.php?f=2&t=18
Page 1 sur 1

Auteur:  Sandrine [ Mar Oct 11, 2005 1:56 pm ]
Sujet du message:  Espace réservé

Bonjour,

Je découvre Automne avec un certain entrain car il m'a l'air vraiment très complet. :D

Cependant je rame depuis un moment pour trouver comment bloquer l'accès à un site Internet. Je m'explique, je teste Automne dans le cadre du développement d'un site Extranet.
Aucune partie publique ne sera accessible.
Un groupe d'utilisateurs aura accès au site en mode lecture après avoir été identifié.

Comment faire ? :?:

Merci
Sandrine

Auteur:  Sébastien [ Ven Oct 14, 2005 1:16 pm ]
Sujet du message: 

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

Auteur:  InsomnY [ Dim Juil 08, 2007 9:58 pm ]
Sujet du message: 

Bonjour,

Après avoir fait tout ce qui est marqué dans ce tuto j'arrive à une erreur lorsque j'ouvre la page d'identification :(

Citer:
Parse error: syntax error, unexpected T_IF in /mnt/109/free.fr/a/2/darksith12/html/FR/_2_20_.php on line 19


Et à cet endroit, j'ai ceci :

Citer:
<?php
if (!isset($cms_page_included) && !sizeof($_POST) && !sizeof($_GET)) {
header('HTTP/1.x 301 Moved Permanently');
header('Location: http://darksith12.free.fr/web/FR/20-espace-prive.php');
exit;
}
require_once($_SERVER["DOCUMENT_ROOT"]."/cms_rc_frontend.php");
?><?php
if (!is_object($cms_user) || !$cms_user->hasPageClearance(20, CLEARANCE_PAGE_VIEW)) {
header("Location: ".PATH_FRONTEND_SPECIAL_LOGIN_WR);
exit;
}
?><?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();
}


Je ne vois pas trop pourquoi à vrai dire là :roll:

Auteur:  Sébastien [ Lun Juil 09, 2007 8:09 am ]
Sujet du message: 

il manque une parenthèse à la fin de la ligne :
Code :
if (strpos($_SERVER["HTTP_REFERER"], 'automne/admin') === false) {


devrait être :
Code :
if (strpos($_SERVER["HTTP_REFERER"], 'automne/admin') === false)) {


Maintenant ce code, très ancien n'est plus du tout d'actualité sur Automne, il est plus simple d'employer le module de création de formulaire qui permet entre autre de réaliser des formulaires d'autentification.

Auteur:  InsomnY [ Lun Juil 09, 2007 8:30 am ]
Sujet du message: 

Je vais me pencher sur la solution du formulaire alors. :wink:

Auteur:  GE [ Jeu Mai 29, 2008 5:01 pm ]
Sujet du message: 

Bonjour,

Je viens de me mettre à automne qui je dois l'avouer et vraiment bien fait.

Sur le même sujet je voulais savoir si il est possible d'utiliser, pour l'authentification d'utilisateur, la même fenêtre que celle de l'authentification d'administration du site ?

Auteur:  Sébastien [ Jeu Mai 29, 2008 5:03 pm ]
Sujet du message: 

Oui, mais il est plus simple d'employer le module de formulaire intégré qui permet de créer des formulaires d'authentification.

Auteur:  Benkuteur [ Mar Juil 01, 2008 3:09 pm ]
Sujet du message: 

Bonjour, j'ai essayé de créer un formulaire d'authentification via le module de formulaire, mais je n'arrive jamais a pourvoir séléctionner mes champs pour l'authentification.
Merci

Auteur:  jeremie [ Mer Juil 02, 2008 1:16 pm ]
Sujet du message:  Authentifier l'utilisateur

Bonjour,

Citer:
je n'arrive jamais a pourvoir séléctionner mes champs pour l'authentification


Après avoir créé le formulaire avec au moins ces 2 champs :
- pseudo : champ de type texte
- mot de passe : champ de type mot de passe

Dans les actions du formulaire, dans "Ajouter une action" rajouter l'action "Authentifier l'utilisateur".
Il suffit ensuite de choisir les champs correspondants et de valider.

Ne pas oublier d'activer le paramètre APPLICATION ENFORCES ACCESS CONTROL dans les métas d'Automne (paramètres du module standard) si l'objectif est de disposer de droits côté client (par exemple créer un espace réservé).

Auteur:  Benkuteur [ Ven Juil 04, 2008 3:27 pm ]
Sujet du message: 

Merci pour la réponse, mais le probleme et toujour là je créé un formulaire basique avec mes 2 champs, et quand j'ajoute "Authentifier utilisateur" j'ai ceci

"Aucun champ pouvant contenir un identifiant utilisateur n'a été trouvé dans le formulaire."

Auteur:  Sébastien [ Mar Juil 08, 2008 9:12 am ]
Sujet du message: 

Il est impératif d'utiliser le "wizard" pour la création de votre formulaire. A la création, cliquez sur l'icône avec la feuille verte dans la barre d'outil du wysiwyg. Votre formulaire doit absolument comporter un champs "texte" et un champs "mot de passe".

Page 1 sur 1 Le fuseau horaire est UTC [Heure d’été]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/