Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
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 08/09/2006, 22h16   #1
Membre du Club
 
Inscription : juin 2006
Messages : 215
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 215
Points : 50
Points : 50
Par défaut [Securité] Droit suivant utilisateur

Bonjour,

Je voudrais savoir comment à partir d'un site securisé (tout les utilisateurs un login et pass) autoriser telle ou telle page, mais également suivant le droit afficher des infos supplémentaires sur mes pages.


D'avance merci
dunbar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2006, 23h27   #2
Membre éclairé
 
Inscription : décembre 2004
Messages : 658
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2004
Messages : 658
Points : 317
Points : 317
tu utilises des variables de sessions, quand tu connectes un utilisateur tu lui colle une valeur droit que tu verifie a chaque page, et en fonction de cette valeur tu affiches plus ou moins de chose.
zulot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2006, 23h32   #3
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
Salut

Oui, même avis que Zulot et plus précisemment :

La solution la plus simple et de rajouter un champ dans la table où sont enregistrés les login & pass.
Par exemple : "statut" ou "droit" si tu préféres.

Ce statut/droit pourrait être A, ou B, ou C....etc…. à toi de voir.

Puisque sécurisé, cela sous-entend une requête d’authentification.
Soit un formulaire + 1 script de vérification ( à moins que ce soit le même fichier)

Quoiqu’il en soit, le fichier qui comprend ta requête d’identification doit comporter en toute première ligne :

session_start();

Et à la suite de cette même requête ( si login & pass sont corrects ) :

session_register("statut");


Tu l’auras compris, cette méthode vient de créer une session utilisateur, et tu n’as plus à te soucier du statut ou des droits de « l’individu ».

Pour récupérer la $variable statut, il te suffit simplement de rajouter session_start(); ( tjrs en début de page ) dans celles ou justement les infos doivent être différentes en fonction du statut.

Pour le reste, il suffit de bosser avec des conditions dans tes différentes partitions, exemple :

if($_SESSION['statut'] == 'A')
{
//contenu pour le A
}
elseif($_SESSION['statut'] == 'B')
{
//contenu pour le B
}
//etc……

(Peut-être plus simple avec un switch, à voir)
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2006, 23h42   #4
Membre du Club
 
Inscription : juin 2006
Messages : 215
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 215
Points : 50
Points : 50
Citation:
Envoyé par alain31tl
Salut

Oui, même avis que Zulot et plus précisemment :

La solution la plus simple et de rajouter un champ dans la table où sont enregistrés les login & pass.
Par exemple : "statut" ou "droit" si tu préféres.

Ce statut/droit pourrait être A, ou B, ou C....etc…. à toi de voir.

Puisque sécurisé, cela sous-entend une requête d’authentification.
Soit un formulaire + 1 script de vérification ( à moins que ce soit le même fichier)

Quoiqu’il en soit, le fichier qui comprend ta requête d’identification doit comporter en toute première ligne :

session_start();

Et à la suite de cette même requête ( si login & pass sont corrects ) :

session_register("statut");


Tu l’auras compris, cette méthode vient de créer une session utilisateur, et tu n’as plus à te soucier du statut ou des droits de « l’individu ».

Pour récupérer la $variable statut, il te suffit simplement de rajouter session_start(); ( tjrs en début de page ) dans celles ou justement les infos doivent être différentes en fonction du statut.

Pour le reste, il suffit de bosser avec des conditions dans tes différentes partitions, exemple :

if($_SESSION['statut'] == 'A')
{
//contenu pour le A
}
elseif($_SESSION['statut'] == 'B')
{
//contenu pour le B
}
//etc……

(Peut-être plus simple avec un switch, à voir)
Génial et merci
dunbar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2006, 09h34   #5
Membre du Club
 
Inscription : juin 2006
Messages : 215
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 215
Points : 50
Points : 50
Citation:
Envoyé par alain31tl
Salut

Oui, même avis que Zulot et plus précisemment :

La solution la plus simple et de rajouter un champ dans la table où sont enregistrés les login & pass.
Par exemple : "statut" ou "droit" si tu préféres.

Ce statut/droit pourrait être A, ou B, ou C....etc…. à toi de voir.

Puisque sécurisé, cela sous-entend une requête d’authentification.
Soit un formulaire + 1 script de vérification ( à moins que ce soit le même fichier)

Quoiqu’il en soit, le fichier qui comprend ta requête d’identification doit comporter en toute première ligne :

session_start();

Et à la suite de cette même requête ( si login & pass sont corrects ) :

session_register("statut");


Tu l’auras compris, cette méthode vient de créer une session utilisateur, et tu n’as plus à te soucier du statut ou des droits de « l’individu ».

Pour récupérer la $variable statut, il te suffit simplement de rajouter session_start(); ( tjrs en début de page ) dans celles ou justement les infos doivent être différentes en fonction du statut.

Pour le reste, il suffit de bosser avec des conditions dans tes différentes partitions, exemple :

if($_SESSION['statut'] == 'A')
{
//contenu pour le A
}
elseif($_SESSION['statut'] == 'B')
{
//contenu pour le B
}
//etc……

(Peut-être plus simple avec un switch, à voir)
Alors juste une question encore stp dans ton exemple qu'es qui empêche un statut B par exemple d'aller sur des pages autoriser du A par exemple.
dunbar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2006, 09h56   #6
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
Précedemment, c'était un exemple pour organiser l'affichage de tes infos.
Et pour l'accés aux pages et en supposant que tu as un menu avec des liens classiques, exemple :


Code :
1
2
3
4
5
6
7
8
9
10
 
if($_SESSION['statut'] == 'A')
{
print("<a href='tapage.php'>LIEN 1</a>");
}
else
{
//sinon désactivé
print("LIEN 1");
}
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2006, 10h48   #7
Membre chevronné
 
Avatar de Elwyn
 
Homme
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 836
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : juillet 2006
Messages : 836
Points : 712
Points : 712
Citation:
Envoyé par alain31tl
Code :
1
2
3
4
5
6
7
8
9
10
 
if($_SESSION['statut'] == 'A')
{
print("<a href='tapage.php'>LIEN 1</a>");
}
else
{
//sinon désactivé
print("LIEN 1");
}
Et un temps de chargement de page de 8secondes ..... hum hum
__________________
Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
Elwyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2006, 12h02   #8
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
Pourquoi, t'es en RTC ?
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2006, 12h58   #9
Membre éclairé
 
Inscription : décembre 2004
Messages : 658
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2004
Messages : 658
Points : 317
Points : 317
moi j'opterais pour des status avec des nombres, avec lesquelles tu fais un switch par exemple.

Ou sinon un truc du style si status inferieur a un nombre donnée j'affiche sinon je redirige.
zulot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2006, 13h37   #10
Membre du Club
 
Inscription : juin 2006
Messages : 215
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 215
Points : 50
Points : 50
Citation:
Envoyé par alain31tl
Précedemment, c'était un exemple pour organiser l'affichage de tes infos.
Et pour l'accés aux pages et en supposant que tu as un menu avec des liens classiques, exemple :


Code :
1
2
3
4
5
6
7
8
9
10
 
if($_SESSION['statut'] == 'A')
{
print("<a href='tapage.php'>LIEN 1</a>");
}
else
{
//sinon désactivé
print("LIEN 1");
}
Ok merci beaucoup
dunbar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h41.


 
 
 
 
Partenaires

Hébergement Web