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 :
Le formulaire ne contient que 2 champs, login et mot de passe (classique)
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>'); } } }
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 ??
Partager