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:
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 :aie:
Une idée ??