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 26/09/2006, 16h15   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 16
Points : 4
Points : 4
Par défaut Sessions ou autre chose

Salut à tous.

Je suis entrain de créer une application web (intranet) utilisable par 2 services diiférents. Si les deux services peuvent accéder à toutes les pages de l'application, l'accès aux fonctionnalités se fait fonction du service.

J'ai une table Utilisateurs :
nom
login
mot de passe
service


Existe-t-il un autre moyen à part les sessions pour passer l'information de page en page afin que je puisse à chaque fois tester si l'utilisateur est permis d'user d'une fonctionnalité? Comme l'application est sensée tourner au moins 4 heures par jour, les sessions conviendraient-elles malgré tout?

Merci de votre réponse
chingo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 16h26   #2
Membre expérimenté
 
Inscription : avril 2006
Messages : 462
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Canada

Informations forums :
Inscription : avril 2006
Messages : 462
Points : 556
Points : 556
Envoyer un message via MSN à rbaatouc Envoyer un message via Skype™ à rbaatouc
je pense que les sessions est la solution qui gere le mieux ton pb; ensuite pour le tps tu peux fixer la durée de vie de ta session
dans ton php.ini tu modifie la valeur de session.lifetime
rbaatouc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 16h39   #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, le systéme de gestion par session (php) est bien adapté à ce contexte et même conseillé.
Avant tout, tu devrais auparavant rajouter un champ dans ta table pour définir et attribuer un statut à chaque utilisateur.

soit par exemple :
champ statut (variables OUI ou NON)

Mais justement, si les utilisateurs des 2 services peuvent accéder à la même application, c'est le statut qui fera la différence entre l'accés à certaines fonctionnalités ou non de cette application.

A partir de là, et si tu utilises les sessions pour logger les utilisateurs, tu sauvegardes la variable $statut dans la session.
Code :
1
2
3
4
 
session_start();
session_register("statut");
// entr'autres
Ensuite, à toi d'élaborer ton systéme de conditions (if OUI ou NON) en fonction du statut loggé pour accés aux fonctions.
__________________
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 26/09/2006, 17h29   #4
Invité de passage
 
Inscription : septembre 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 16
Points : 4
Points : 4
Par défaut Sessions ou autre chose

Est-il vraiment utile d'ajouter un autre champs à ma table? Le test ne pourrait-elle pas se faire sur la variable Service de la session et le résultat de ma requête?

...
$requete="select * from Utilisateur where service = $service (transmis par la session) and mdp = "$mdp (transmis" par la session);

$resultat = mysql_fetch_row($requete);

if !$resultat
{
echo "<script>";
echo "alert(\"Opération non autorisée\")";

}

....
chingo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 17h37   #5
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
Citation:
Envoyé par chingo
.... Si les deux servicespeuvent accéder à toutes les pages de l'application, l'accès aux fonctionnalités se fait fonction du service....
Ce n'est pas ce que tu disais, il y une une contradiction dans ta méthode.

soit : 2 services = accés partout
soit : 2 services = pour accés à certaines fonctionnalités.

hum !....???

D'où un paramétre complémentaire.

[EDIT :] Ou alors, il fallait préciser que le service 1 a accés aux fonctionnalités 1.
Et que le service 2 a accés aux fonctionnalités 2.

Question de formulation du probléme.
__________________
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 26/09/2006, 19h58   #6
Invité de passage
 
Inscription : septembre 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 16
Points : 4
Points : 4
Par défaut Sessions ou autre chose

Effectivement,

Service 1 a accès aux fonctionnalités a, b,c
Service 2, accès à d,e,f,...
chingo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 22h26   #7
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
Dans ce cas là :

Code :
1
2
3
session_start();
session_register("service");
// et autres variables utiles
L'utilisateur accéde à l'application mais ta session connait son service d'origine puisque désormais sauvegardée.
A partir de conditions ( If service _1 OU service_2 ... j'abrége), tu peux composer tes liens d'accés aux différentes fonctionnalités.
__________________
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 26/09/2006, 23h51   #8
Invité de passage
 
Inscription : septembre 2006
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 16
Points : 4
Points : 4
Par défaut Sessions ou autre chose

Merci beaucoup. Je te tiendrai au courant du résultat.
chingo 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 22h22.


 
 
 
 
Partenaires

Hébergement Web