Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-03-2009 11:33:44

ghamrired
Membre
Date d'inscription: 04-03-2009
Messages: 25

[1.7][Résolu][zend_auth] récupéré url derniere page visite

Bonjour,

je veut rediriger mon utilisateur lors de l'authentification vers la dernière page visite aprés que time_out se termine
merci d'avance

Dernière modification par ghamrired (11-03-2009 21:35:47)

Hors ligne

 

#2 09-03-2009 15:51:31

OsoPardo
Membre
Date d'inscription: 16-09-2008
Messages: 32

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

Hors ligne

 

#3 09-03-2009 16:20:03

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

Salut,

Pourquoi pas en faire un view helper tant qu'à y être ? smile


A+ benjamin.

Dernière modification par Delprog (09-03-2009 16:38:03)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#4 09-03-2009 16:24:05

ghamrired
Membre
Date d'inscription: 04-03-2009
Messages: 25

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

merci pour ton (OsoPardo) aidée

Mais j'ai encore d'autre question :
  * j'ai ajouter ce code dans bootstrap de mon application et j'ai ajouter l'action loginAction() la ligne suivant :
         aprés que l'utilisateur est authentifie et je l'enregistre dans session j'ajoute :
                           $this->_redirect(REFERER_PATH)
   mais lorsque je tape un login et un mot de passe exacte je reste sur la même page du login

STP est ce que tu peut m'explique de plus ton code, et me corrige mes erreurs
ET merci d'avance neutral

Dernière modification par ghamrired (09-03-2009 16:25:01)

Hors ligne

 

#5 09-03-2009 16:48:32

Guillhomme
Membre
Date d'inscription: 09-10-2008
Messages: 102

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

Fais attention au REFERER_PATH, c'est le client qui le transmet, donc il peut envoié ce qu'il a envie.
Ca n'a peut etre aucune crainte dans ton application, mais ca peut etre un trou de securite.

Apres, c'est je crois, la seule solution ... sad

Hors ligne

 

#6 09-03-2009 17:09:32

OsoPardo
Membre
Date d'inscription: 16-09-2008
Messages: 32

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

Oui, c'est le navigateur qui fournit $_SERVER['HTTP_REFERER'] et il existe des extensions, notamment pour firefox, qui permettent de modifier cette info ou simplement la supprimer, mais bon, si une personne utilise ces extensions elle peut difficilement se plaindre ensuite qu'elle ne soit pas redirigé vers la bonne page smile

Par contre ça ne fonctionne pas non plus si on arrive sur le formulaire d'authentification après une redirection, dans ce cas là on n'a pas d'autre choix que de stocker l'URL souhaitée dans une session avant la redirection, puis après une authentification réussie, aller voir dans la session si une URL est présente et, dans ce cas là, faire une redirection vers cette URL.

Ex :
Dans les contrôleur des pages nécessitants une authentification :

Code:

function preDispatch(){
        
    $auth = Zend_Auth::getInstance();

    if (!$auth->hasIdentity()){
                
        $authSession = new Zend_Session_Namespace('authentification');
        $authSession->urlSouhaitee = $this->_request->getPathInfo();
        $this->_redirect('/Authentification/');
    }
}

Dans le contrôleur gérant l'authentification, si elle à réussie :

Code:

$authSession = new Zend_Session_Namespace('authentification');
if( isset($authSession->urlSouhaitee) ){
    $this->_redirect($authSession->urlSouhaitee);
}

$this->_redirect('/');

Hors ligne

 

#7 09-03-2009 17:55:49

ghamrired
Membre
Date d'inscription: 04-03-2009
Messages: 25

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

merci pour vous tous,
mais SVP une autre question :
sauvegarde d'url est faite pour tous les utilisateurs c à d lorsque l'authentification est fait pour un autre utilisateur x il le redirige vers la même page du la dernière visité de l'utilisateur Y

je suis mnt en traine je cherche une solution mais si qlq à une proposition je le remercié d'avance

Hors ligne

 

#8 10-03-2009 01:08:44

OsoPardo
Membre
Date d'inscription: 16-09-2008
Messages: 32

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

Les sessions ne se mélangent pas entre les utilisateurs, mais il faut savoir qu'elles sont parfois communes à tout les onglets, comme sous Firefox.

Si tu fait un essai avec un utilisateur X sous Firefox et un autre utilisateur Y sous IE, X ne sera pas redirigé vers la dernière page visité par Y (sauf bien sur s'ils ont précédemment tout deux visités la même page).

Hors ligne

 

#9 10-03-2009 07:50:15

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

Bonjour,

Les noms de sessions sont par défaut les mêmes dans toutes les appli. Les namespace contiendront donc les mêmes choses d'une appli sur l'autre.

Pour éviter ce problème, on utilisait avant un fichier php.ini par appli dans lequel on ne spécifiait que le nom de session à utiliser.

Avec Zend c'est plus simple :

Code:

    /**
     * Set up sessions
     * 
     * @return void
     */
    public function initSession()
    {
        require_once 'Zend/Session.php';
        
        $zs_options = array(
            'name' => mb_strtoupper('EC_' . $this->_moduleRoot, 'utf-8'),   // Les noms de sessions ne seront valides que pour ce module
            'use_only_cookies' => 'on'            
        );
        
        Zend_Session::setOptions($zs_options);        
    }

A+ benjamin.

Dernière modification par Delprog (10-03-2009 07:50:44)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#10 10-03-2009 16:24:25

ghamrired
Membre
Date d'inscription: 04-03-2009
Messages: 25

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

merci pour vous explications et proposition,
la solution sur laquelle je suis entraine d'effectuer est de récupérer le nom de l'utilisateur authentifie et le comparer avec le nouveau utilisateur authentifie (alors si la comparaison est true alors le redirige vers la dernière page visite si non le redirige vers l'index)
* alors est ce que c'est possible dans les sessions au niveau de zend de récupérer le nom de l'utilisateur authentifie ?
*SVP si qlq peut m'explique qui son les information enregistre dans les session

Delprog je vous remercie pour ta proposition et je vais l'essai

Merci pour vous tous
cordialement

Hors ligne

 

#11 10-03-2009 17:50:39

OsoPardo
Membre
Date d'inscription: 16-09-2008
Messages: 32

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

J'insiste, mais c'est pour la bonne cause smile

ghamrired a écrit:

sauvegarde d'url est faite pour tous les utilisateurs c à d lorsque l'authentification est fait pour un autre utilisateur x il le redirige vers la même page du la dernière visité de l'utilisateur Y

Cela ne devrait pas être le cas ! Si tu essai en locale avec deux utilisateurs X et Y qui utilisent deux navigateurs différents alors X et Y auront leur propre sessions, il est normalement impossible à X d'accéder aux informations de la sessions d'Y, sinon il y une faille de sécurité évidente.

En plus des informations déjà fournies dans cette discussion il faut également que tu t'assure du bon paramètrage de la valeur session.save_path dans le fichier php.ini qui doit désigner un répertoire où seront stockées les sessions de PHP

Code:

#Valeur par defaut, prévu pour Unix mais ne fonctionne pas sous Windows
session.save_path = "/tmp"

#exemple pour Windows
session.save_path = "C:/WINDOWS/Temp"

Après avoir redémarré Apache :

si X vient de la page P1 et s'authentifie avec un navigateur N1 un nouveau fichier F1 apparaitra
si Y vient de la page P2 et s'authentifie avec un navigateur N2, un autre fichier F2 sera créé
F1 contiendra P1
F2 contiendra P2

tout ça se passe en coulisse :
ton script appelé par X avec N1 récupérera l'URL de P1 via Zend_Session
ton script appelé par Y avec N2 récupérera l'URL de P2 via Zend_Session

Lorsque tu fait tes test à chaque nouvelle simulation n'oublie pas de vider les caches de tes navigateurs (Effacer mes traces sous Firefox, Effacer l'historique de navigation sous IE...)

Pas besoin de bidouilles supplémentaires, en résumé je pense que tu te bas contre un problème qui n'existe pas, refait des tests avec deux navigateurs vidés de leur cache, tu devrait le constater toi même.

Dernière modification par OsoPardo (10-03-2009 17:51:31)

Hors ligne

 

#12 10-03-2009 19:09:07

ghamrired
Membre
Date d'inscription: 04-03-2009
Messages: 25

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

Merci beaucoup OsoPardo pour tes explications. Ok j'ai compris ta vision. et pour mon dernière msg que j'ai écrit je veuillez seulement savoir qui sont les information enregistre par zend_session ( c à d est ce quel enregistre le nom de l'utilisateur + mot de passe ou il donne pour chaque utilisateur un id diff ou commeent il fait) 

mais pour mon pb en généarle je le classe comme Résolu

merci pour vous tous
Cordialement

Hors ligne

 

#13 11-03-2009 10:19:43

OsoPardo
Membre
Date d'inscription: 16-09-2008
Messages: 32

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

Zend_Session utilise le système de sessions de PHP, il n'est pas lié à Zend_Auth et n'a donc pas de notion d'utilisateur et mot de passe à moins que tu ne les stocke dans un espace de nom (Zend_Session_Namespace), ce qui est déconseillé, surtout pour le mot de passe, car il existe des types d'attaques permettant l'accès aux sessions d'autre utilisateurs.

Pour savoir quel session fournir à chaque utilisateur, PHP créer un identifiant à chaque nouvelle session, cet identifiant est ensuite stocké dans un cookie chez l'utilisateur ou passé de page en page via un paramètre de l'URL si l'utilisateur bloque les cookies, bien que cette dernière possibilité ne semble pas fonctionner avec le ZF...

Hors ligne

 

#14 11-03-2009 21:35:23

ghamrired
Membre
Date d'inscription: 04-03-2009
Messages: 25

Re: [1.7][Résolu][zend_auth] récupéré url derniere page visite

Merci beaucoup OsoPardo et les autres amis qui mon expliquée bien les choses
Et pour votre temps que vous m'avez consacre.

Cordialement

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