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 24/06/2008, 16h00   #1
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 54
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 54
Points : 17
Points : 17
Par défaut Probleme avec 2 logins existants

Bonjour je suis entrain de développer un intranet avec ZF dans une collectivité.

Il y a des agents qui ont le meme nom de famille et le login / mot de passe sur l'intranet se fait via le nom et le prenom pour le moment.

J'avais fait le tuto sur developpez.com dont voici le code :

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
 
		if ($this->_request->isPost()) {
			// collect the data from the user
			Zend_Loader::loadClass('Zend_Filter_StripTags');
			$f = new Zend_Filter_StripTags();
			$username = $f->filter($this->_request->getPost('username'));
			$password = $f->filter($this->_request->getPost('password'));
 
			if (empty($username)) {
				$this->view->message = 'Veuillez saisir un login';
			} else {
				// setup Zend_Auth adapter for a database table
				Zend_Loader::loadClass('Zend_Auth_Adapter_DbTable');
				$dbAdapter = Zend_Registry::get('dbAdapter');
				$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
				$authAdapter->setTableName('utilisateur');
				$authAdapter->setIdentityColumn('login');
				$authAdapter->setCredentialColumn('pass');
 
 
				// Set the input credential values to authenticate against
				$authAdapter->setIdentity($username);
				$authAdapter->setCredential($password);
 
				// do the authentication
				$auth = Zend_Auth::getInstance();
				$result = $auth->authenticate($authAdapter);
 
				if ($result->isValid()) {
					// success: store database row to auth's storage
					// system. (Not the password though!)
					$data = $authAdapter->getResultRowObject(null, 'pass');
					$auth->getStorage()->write($data);
					$this->_redirect('/admin');
				} else {
					// failure: clear database row from session
					$this->view->message = 'Identification invalide';
				}
			}
		}
		$this->view->title = "Identification";
		$this->render();
	}
Ce code marche mais le probleme est que si j'ai 2 login pareil l'identification ne se fait pas et je voudrai que ca puisse le faire....

MErci
figatelliSTI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 16h12   #2
Membre actif
 
Avatar de BlackSmith
 
Inscription : mars 2008
Messages : 181
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mars 2008
Messages : 181
Points : 186
Points : 186
Le but d'un login , c'est qu'il doit être unique, donc il faudra que tu trouve une autre solution.
BlackSmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 16h17   #3
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 54
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 54
Points : 17
Points : 17
C'est la combinaison login / mot de passe qui devrait l etre non ?
figatelliSTI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 16h22   #4
Membre actif
 
Avatar de BlackSmith
 
Inscription : mars 2008
Messages : 181
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mars 2008
Messages : 181
Points : 186
Points : 186
Tu defini quel colonne va servir a identifier un utilisateur, et tu ne peut en mettre qu'une seule.
Code :
1
2
 
$authAdapter->setIdentityColumn('login');
BlackSmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 06h57   #5
Membre confirmé
 
Développeur Web
Inscription : mai 2008
Messages : 185
Détails du profil
Informations personnelles :
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2008
Messages : 185
Points : 212
Points : 212
Citation:
Envoyé par figatelliSTI Voir le message
C'est la combinaison login / mot de passe qui devrait l etre non ?
Bonjour.
Je dois dire que la, ce que tu propose est étrange .. En toute logique, c'est le login qui doit être unique.
On va prendre un exemple simple : gestion UNIX .. le premier aura son nom ( toto () ) as son password, imagine, tu veux créer un second user toto avec un autre mot de passe .. hé bah tu l'a dans l'os, parce qu'il faut des username uniques
2 personnes qui s'appellent pareil, c'pas leur faute, mais sur une gestion informatique, ça le fais vraiment pas !
Donc une solution simple, mise en place par exemple par certaines universités : tu met en login les n première lettres du nom de famille, et un nombre ( 2 chiffres ou 3 ), tu est ainsi sur d'avoir un login unique
Sinon tu peux inventer tes propres logins, du genre un truc pseudo aléatoire avec les dates de naissances ou tout ce que tu veux, mais 2 logins identiques c'est une mauvaise idée

Bonne chance !
LoveAngel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 09h29   #6
Membre régulier
 
Étudiant
Inscription : décembre 2006
Messages : 71
Détails du profil
Informations personnelles :
Âge : 24

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 71
Points : 75
Points : 75
Envoyer un message via MSN à litllechicken
Salut,

Le principe du login c'est qu'il est unique, si tu ne suis pas ce principe tu pers toute traçabilité pour ton site, c'est mal

login = identifiant (dit que tel personne est telle personne)
login+password = identification (dit que tel personne ne prétend pas être tel qutre personne)

héhé j'espere m'être correctement exprimé !!!
litllechicken est dé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 18h01.


 
 
 
 
Partenaires

Hébergement Web