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

Langage PHP Discussion :

Connexion session multi niveau [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut Connexion session multi niveau
    Bonsoir à tous, j'ai une question un peu simpliste mais je ne vois pas ou placer cette appel de session donc je viens vers vous.
    J'ai un systéme de login plutôt simple pour vérifier que l'utilisateur existe.
    Je souhaite faire un systéme multi niveau, pour ce faire je doit créer la session "role" qui est un champ supplémentaire dans la base de donnée en smallint.
    Voici mon script qui gére l'authentification mais pas encore les rôles :

    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
     
    function loadAuth(){
    		$sql = 'SELECT name,cryptpass,role from profil where name = :user and cryptpass = :cryptpass';
    	    $result = $this->dbh->select($sql,array(':user'=>$this->users_login,':cryptpass'=>$this->mdp_login),'assoc');
    	    return $result;
    	}
    function authSession(){
     
            //login = solution
    		if (isset($this->users_login) && isset($this->hpass)) {
    			$this->smarty->assign('hpass', $this->hpass);
    			if(count($this->loadAuth()) == 1){
    				$string = $_SERVER['HTTP_USER_AGENT'];
    				$string .= 'SHIFLETT';
     
    				/* Add any other data that is consistent */
     
    				$fingerprint = md5($string);
    				session_name('test');
    				ini_set('session.hash_function',1);
    				session_start();
     
    				if (!isset($_SESSION['userid'])) {
     
    					session_regenerate_id(true);
        				$_SESSION['userid'] = $this->users_login;
        				header('location: ******');
     
    				}else{
    						$_SESSION['userid'] = $this->users_login;
    						header('location: *********');
    					}
    			}elseif(empty($this->users_login) || empty($this->mdp_login)) {
     
    					$this->smarty->assign('msg','<div class="error">Unable to log you in: Empty username/password</div>');
     
    			}else{
     
    					$this->smarty->assign('msg','<div class="error">Unable to log you in: Invalid username/password</div>');
     
    			}
    		}
    	}
    Le formulaire ne contient que 2 champs, login et mot de passe (classique)
    Mais j'aimerai qu'il vérifie ou plutôt initialise le rôle de l'utilisateur qui sera alors utilisé plus loin pour permettre certaine chose.
    Le truc c'est que je ne sais pas ou initialise ce rôle
    Une idée ??

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 211
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 211
    Points : 8 438
    Points
    8 438
    Billets dans le blog
    17
    Par défaut
    Je ne vois pas trop où est le pb. A priori il faudrait faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //...
    // On ne sait pas comment est valorisé $this->users_login dans ton extrait
    $_SESSION['userid'] = $this->users_login ;
    // Puis :
    $_SESSION['userrole'] = $this->user_role ; // A adapter
    // ...

  3. #3
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    ben j'ai trouver une solution pour utiliser les niveaux.
    Mais bon je trouve le système un peu bancal , y il une documentation pour les ACL afin de mieux sécurisé tout ce petit monde .
    Je trouve les sessions un peu limité (je suis paranoïaque )

  4. #4
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    les sessions limitées ???? hmmm no comment anymore...

  5. #5
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    c'est peut etre pas le mot que j'aurai du employé, je voulais dire qu'une couche avec des acl renforcerai le système de connexion.
    Mais bon les exemples sont difficile à trouver sauf pour zend

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche de menu css multi-niveau
    Par lodan dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 09/02/2007, 21h46
  2. Session multi utilisateurs
    Par nico-icf dans le forum Access
    Réponses: 9
    Dernier message: 16/01/2007, 16h20
  3. Session multi serveur
    Par zegone dans le forum Langage
    Réponses: 1
    Dernier message: 20/07/2006, 10h53
  4. [Menu recherché] Vertical, multi-niveau, pas de frame
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/03/2006, 21h31
  5. [Sessions] Les sessions multi-applications
    Par brazza dans le forum Langage
    Réponses: 4
    Dernier message: 13/10/2005, 17h53

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