IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Acl & Zend_Auth PHP Discussion :

Probleme avec 2 logins existants


Sujet :

Zend_Acl & Zend_Auth PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 56
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre expérimenté Avatar de BlackSmith
    Inscrit en
    Mars 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2008
    Messages : 181
    Par défaut
    Le but d'un login , c'est qu'il doit être unique, donc il faudra que tu trouve une autre solution.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 56
    Par défaut
    C'est la combinaison login / mot de passe qui devrait l etre non ?

  4. #4
    Membre expérimenté Avatar de BlackSmith
    Inscrit en
    Mars 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2008
    Messages : 181
    Par défaut
    Tu defini quel colonne va servir a identifier un utilisateur, et tu ne peut en mettre qu'une seule.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $authAdapter->setIdentityColumn('login');

  5. #5
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    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
    Par défaut
    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 !

  6. #6
    Membre éclairé
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Par défaut
    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é !!!

Discussions similaires

  1. [MySQL] script login probleme avec un if
    Par stefanelle dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 10/08/2009, 15h32
  2. Probleme de double connexion avec meme login et mot de passe
    Par whally dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 21/05/2007, 18h04
  3. [SQL Server] Probleme avec not exists
    Par maxxou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2006, 16h51
  4. [VB.Net] [login] probleme avec password recovery
    Par graphicsxp dans le forum ASP.NET
    Réponses: 5
    Dernier message: 17/02/2006, 14h53
  5. PROBLEME AVEC LES REQUETES IS NULL / NOT EXISTS
    Par sylvaine dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/06/2004, 13h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo