Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-01-2013 11:20:47

michwii
Membre
Date d'inscription: 25-01-2013
Messages: 13

Un module qui contrôle la présence d'une session utilisateur

Bonjour,

Je me présente, je m'appelle Michwii, je suis nouveau dans la communauté Zend.
J'ai un petit soucis de conception, vous pourriez peut être m'aider...

J'ai crée un projet comprenant 3 modules :
Un module d'authentification.
Un module contenant le projet en lui même (Main).
Un module d'installation.

Ce que j'aimerai maintenant c'est faire en sorte que le module contenant le projet en lui même ne puisse démarrer que s'il arrive à détecter la présence d'une session d'authentification.
Cette même session d'authentification ne pourra être créée que par le module d'authentification.

Si la session n'a pas été créée le module main redirigera vers l'url /authentification (adresse du module d'authentification)
Si la session est présente il se lancera normalement.

Comment faire en sorte de vérifier avant chaque appel de page du module Main que la session à déjà été créée ?
Dois je ajouter une vérification sur chaque action de mes controllers ?
Est-ce que je peux uniquement faire la vérification dans la méthode onBootStrap ?

Merci d'avance pour vos réponses.

Je vous souhaite une bonne journée big_smile

Hors ligne

 

#2 25-01-2013 11:35:03

Nirzol
Membre
Date d'inscription: 11-01-2013
Messages: 65

Re: Un module qui contrôle la présence d'une session utilisateur

Regarde du coté de https://github.com/ZF-Commons/ZfcUser . Un module d'authentification pour zf2.

Hors ligne

 

#3 25-01-2013 11:55:01

michwii
Membre
Date d'inscription: 25-01-2013
Messages: 13

Re: Un module qui contrôle la présence d'une session utilisateur

Merci de ta réponse Nirzol big_smile

Du coup je télécharge ce module, je suis les instructions d'installation...
Maintenant lorsque je vais sur mon module Main à l'adresse /main, comment je fais pour vérifier que l'authentification dans le module ZfcUser c'est bien déroulé ?

Ça le fait automatiquement ? Il va me rediriger vers le module ZfcUser ?

Merci d'avance.

Dernière modification par michwii (25-01-2013 11:55:45)

Hors ligne

 

#4 25-01-2013 11:58:20

Nirzol
Membre
Date d'inscription: 11-01-2013
Messages: 65

Re: Un module qui contrôle la présence d'une session utilisateur

Tu as un peu de doc ici : https://github.com/ZF-Commons/ZfcUser/wiki
Notamment le morceau : How to check if the user is logged in

smile

Hors ligne

 

#5 25-01-2013 12:16:39

michwii
Membre
Date d'inscription: 25-01-2013
Messages: 13

Re: Un module qui contrôle la présence d'une session utilisateur

Super c'est exactement ce que je voulais smile

Je résume, je peux donc check au niveau de la vue, ou du controller (pas faisable dans mon cas), ou au niveau du service manager.

Code:

<?php
$sm = $app->getServiceManager();
$auth = $sm->get('zfcuser_auth_service');
if ($auth->hasIdentity()) {
    echo $auth->getIdentity()->getEmail();
}
?>

Dernière question, où se met cette partie de code ?

Merci d'avance

Hors ligne

 

#6 25-01-2013 13:51:47

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Un module qui contrôle la présence d'une session utilisateur

Non tu ne peux pas le faire au niveau du service manager. En fait le service manager est un outil qui permet de gérer tes services qui va les instancier lui même en fonction de ce que tu as configuré etc ... Ce que fait le bout de code actuel c'est demander au service manager la classe qu'il a instancié qui a pour "nom" 'zfcuser_auth_service' et sur cette classe le code test si l'utilisateur a une session d'ouverte.

Pour ce que tu veux je pense qu'il faut que tu utilises un système de contrôle des accès. Il me semble que maintenant c'est RBAC l'officiel pour ZF2, il y a un module à cet effet pour en simplifier l'utilisation. Tu peux sinon dans ton Module.php lancer un évènement (au niveau du onBootstrap) sur le routage par exemple. Donc à toi de trouver l'évènement qui te convient pour le faire et ainsi laisser filer la route si l'utilisateur est connecté sinon le rediriger.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages