Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Acl & Zend_Auth
Zend_Acl & Zend_Auth Forum d'entraide pour les composants Zend_Acl & Zend_Auth du Zend Framework (contrôle d'accès, gestion des droits, authentification, etc.). Avant de poster -> Cours Zend_Acl et Zend_Auth.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2007, 14h58   #1
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 21
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 21
Points : 30
Points : 30
Par défaut Zend_ACL et timeout

Bonjour,

j'espère recueillir plus de réponse que pour ma question sur le mail qui m'a valu un nombre de commentaire de... 0.

Bref, j'aurais voulu savoir comment gérer le timeout d'une authentification sachant que le compteur du timeout recommence le décompte à chaque nouvelle action de l'utilisateur.
J'ai pensé gérer ça avec une variable stockée dans la session utilisateur, y a t-il plus simple ?

Merci pour vos conseils...
jean-marc rigade est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2007, 16h48   #2
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 21
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 21
Points : 30
Points : 30
Voilà le code que j'utilise et dans les exemples que je trouve le timeout va de paire avec une authentification via HTTP.
Dans mon cas j'utilise une table, est quand même possible ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
function connexionAction() {
		$auth = Zend_Auth::getInstance();
		$this->view->errConnexion = '';
		// Récupération des données du formulaire
		if ($this->_request->isPost()) {
			Zend_Loader::loadClass('Zend_Filter_StripTags');
			$filter = new Zend_Filter_StripTags();
			$identifiant = $filter->filter($this->_request->getPost('identifiant')); $identifiant = trim($identifiant);
			$motdepasse = $filter->filter($this->_request->getPost('motdepasse')); $motdepasse = trim($motdepasse);
 
			// Test des valeurs saisies
			// Erreurs, on recommence
			if ($identifiant == '' || $motdepasse == '') {
				$this->view->errConnexion = 'erreur';
				return;
			}
			// Pas d'erreur on va essayer de se connecter
			else {
				$registry = Zend_Registry::getInstance();
				$db = $registry->get('sportifs');
				$authAdapter = new Zend_Auth_Adapter_DbTable($db);
				$authAdapter->setTableName('personne')
							->setIdentityColumn('pers_pseudo')
							->setCredentialColumn('pers_password');
				$authAdapter->setIdentity($identifiant)
							->setCredential($motdepasse);
				$result = $auth->authenticate($authAdapter);
				if ($result->isValid()) {
					$data = $authAdapter->getResultRowObject(null,'pers_password');
					$auth->getStorage()->write($data);
					$this->_redirect('/');
				}
				else {
					// Echec du login
					$this->view->errConnexion = 'erreur';
				}
			}
		}
		$this->render();
	}
jean-marc rigade est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2007, 17h24   #3
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 21
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 21
Points : 30
Points : 30
En fait désolé pour cette question ça marche tré bien juste en ajoutant :
Code :
1
2
$authSession = new Zend_Session_Namespace('Zend_Auth');
$authSession->setExpirationSeconds(120);
Bon les 120 secondes c'est pour le test...
jean-marc rigade est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h43.


 
 
 
 
Partenaires

Hébergement Web