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 23/12/2010, 15h43   #1
Nouveau Membre du Club
 
Paul Borel
Inscription : décembre 2004
Messages : 176
Détails du profil
Informations personnelles :
Nom : Paul Borel
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2004
Messages : 176
Points : 34
Points : 34
Par défaut Aide création authentification

Bonjour,

Je commence à apprendre Zend. J'ai utilisé cette page :http://s-jdm.developpez.com/tutoriel...ramework-1-10/.
Elle m'a permis de comprendre la base.

Mais j'essaye de trouver une doc similaire à celle la pour gérer une connexion (authentification) avec sessions....

A vrai dire j'ai du mal à saisir encore bien le fonctionnement.

Es-ce que une personne pourrais me guider ?

Faut :
- 1 controleur Auth
- formulaire Login
- db-table Users
- action login ?

Merci
Paul75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 19h23   #2
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 456
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 456
Points : 639
Points : 639
Voila un petit exemple. ZEND_AUTH avec les session

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
41
42
43
44
45
46
47
48
49
50
51
52
 
public function indexAction()
	{
		$administrators = new Administrators();	
 
		if ($this->_request->isPost())
		{			
			foreach ($this->_request->getPost() as $key => $value)
				$this->view->$key = $value;
 
			$f = new Zend_Filter_StripTags();
			$username = $f->filter($this->_request->getPost('username'));
			$password = $f->filter($this->_request->getPost('password'));
 
 
 
			if (empty($username) || empty($password))
			{
				$this->view->message = 'Veuillez saisir votre nom d\'utilisateur et mot de passe.';
			}
			else
			{
				$dbAdapter = Zend_Registry::get('dbAdapter');
				$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
				$authAdapter->setTableName('administrators');
				$authAdapter->setIdentityColumn('username');
				$authAdapter->setCredentialColumn('password');
 
				$authAdapter->setIdentity($username);
				$authAdapter->setCredential($password);
 
				$auth = Zend_Auth::getInstance();
				$result = $auth->authenticate($authAdapter);				
				if ($result->isValid()) 
				{   
 
					$select_user = $administrators->select($username);
 
					$results = $authAdapter->getResultRowObject(array('admin_id'));
					$Admin_Session = new Zend_Session_Namespace('Admin_Session');										
				   	$Admin_Session->admin_id = $results->admin_id;
 
				   	$this->_redirect('/');	
 
				}
				else
				{
					$this->view->message = 'Nom d\'utilisateur ou mot de passe incorrecte !';
				}
			}
		}
	}
je crée un plugin qui vérifier la session

Code :
1
2
3
4
5
6
7
8
 
$Admin_Session = new Zend_Session_Namespace('Admin_Session');
 
        if (($ctrlName != "login"))
        {
            if (!isset($Admin_Session->admin_id)) $this->_response->setRedirect('/login'); 
        }
        else if (isset($Admin_Session->admin_id)) $this->_response->setRedirect('/');
Bien sur il te faudra crée une table qui contient les champs username et password et la vue avec les 2 champs username & password
m4riachi est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h49.


 
 
 
 
Partenaires

Hébergement Web