les MetaCités - logo

< Afficher du contenu que pour les personnes authentifiées >

Il est parfois utile de n’afficher du contenu qu’aux utilisateurs authentifiés, que cela soit un bout de skelette, ou un skelette tout entier. Voici comment faire.

Le principe

Si le visiteur est authentifié, la variable $auteur_session['statut'] n’est pas vide. Il suffit donc de faire un simple test sur cette variable et le tour est joué.

Exemple

<?
if ($auteur_session['statut']=="") { ?>
#LOGIN_PUBLIC
<? }else { ?>

contenu protégé

<? } ?>

En plaçant ce code en haut de votre skelette, si la personne ne s’est pas authentifiée, elle se vera proposer le formulaire d’authentification. Autrement, elle verra ce que vous avez mis à la place de "contenu protégé".

Stephane Le Solliec - mardi 8 octobre 2002 à 10h24

7 commentaires

> Afficher du contenu que pour les personnes authentifiées

Question de neuneu ?

Les articles que j’ai lus, concernant la protection de pages sous SPIP, me semblent répondre à la question : "Comment obtenir un affichage différent d’une même page, selon le statut du visiteur ?". A moins que neuneu n’ait rien compris, ce qui n’est pas complètement impossible.

Mais si l’on a construit un site SPIP avec seulement 2 grands SECTEURS :

-  secteur 1 entièrement public
-  secteur 2 entièrement privé auquel on accède par un lien "Espace Privé" présent sur toutes les pages, la page sommaire de ce secteur contenant un script d’autentification.

Comment protéger TOUT le secteur 2, rubriques, sous-rubriques, articles ?

Merci de votre aide.


2002-11-3 à 13h03, par Pierre
> Afficher du contenu que pour les personnes authentifiées

Neuneu se répond à lui même, au cas où ça pourrait en aider un autre...

Il a relu la doc SPIP et constaté que c’était très simple :

Il suffit de clôner les squelettes en les suffixant -2, par exemple : article-2.html et d’ajouter avant le code html une demande d’authentification...Ca marche.

Neuneu !


2002-11-5 à 00h43, par Pierre
> Afficher du contenu que pour les personnes authentifiées

Bonjour, je suis novice en php. ce code m’intéresse mais je ne parviens pas à la mettre en place. concrètement, je voudrais le mettre sur le squelette article dont voici le code < ?php

$fond = "article" ; $delais = 24 * 3600 ;

include ("inc-public.php3") ;

 ?>

où dois-je coller votre code afin que cela fonctionne ? Merci d’avance  :-)


2003-01-23 à 23h55, par Sinusart
> Afficher du contenu que pour les personnes authentifiées

Ca c’est pas ton skelette, c’est la page qui appelle ton skelette.

Le skelette, c’est la page article.html

Stéphane


2003-01-24 à 12h30
> Afficher du contenu que pour les personnes authentifiées

Bonjour,

Je cherche à faire quelque chose d’un peu plus compliqué : je voudrais que pour certains articles, le forum ne soit accessible qu’à des utilisateurs autorisés par l’auteur de l’article. La liste des utilisateurs dépend donc de chaque article... et elle est bâtie dynamiquement : c’est l’auteur qui décidera si il y aura un tel forum, et qui sont les utilisateurs autorisés (ceux-ci seront d’autres auteurs, au fait). Par ailleurs j’aimerais que la protection soit assez efficace...

Une idée ?

Merci d’avance,
— Bertrand.


2003-11-3 à 22h47, par Bertrand Monthubert
> Afficher du contenu que pour les personnes authentifiées

je pense qu’en l’état c’est impossible, mais as-tu essayé de jouer avec les mots-clés et les groupes de mots-clés ? imaginons un groupe de mots-clés "utilisateurs autorisés" contenant les identifiants des personnes autorisées à consulter l’article. il te reste à écrire un bout de php +javascript (getcookie) pour récupérer l’identifiant de la personne si elle est déjà identifiée. la suite tu la connais : si l’identifiant trouvé dans le cookie correspond à l’un de ceux autorisé alors afficher le lien (je dirais le formulaire, j’explique plus bas pourquoi) en question.

pb si qlq’un regarde le code il peut prendre le lien et accéder au forum. il faudrait alors voir à n’utiliser que du php, ainsi le code n’apparaît que lorsque la personne est autorisée.

ATTENTION ! ! ! cette méthode suppose que, pour que la protection soit efficace, les forums soient insérés dans les articles. en effet, si tel n’est pas le cas, alors quiconque peut observer la syntaxe des URLs pour modifier l’ID_FORUM et outrepasser cette protection.

bonne chance et bonne année :)


2004-01-1er à 13h21, par vincent
> Afficher du contenu que pour les personnes authentifiées
Cette méthode est en effet très bonne. Le seul soucis qu’il reste, est que les documents joints à un article sont stockées dans le répertoire IMG. Si quelqu’un accède à ce répertoire, ou tape l’adresse directe d’un document, il pourra y accéder, qu’il soit authentifié ou non. Une personne non authentifiée aura donc accès à tous les documents. Comment faire pour protéger l’accès à ce répertoire, pour que tout le monde ait accès aux documents "publics", et seules les personnes authentifiées aux documents "privés" ?
2005-01-21 à 10h17, par Thierry

Mots clés

SPIP

Mars

1234567
891011121314
15161718192021
22232425262728
293031



site géré avec SPIP
 
MetaCités
5 rue des Passereaux,
49610 Murs-Erigné,
France
Tel : +33 (0)6 62 63 22 48