Variable de session

Messages postés
7
Date d'inscription
lundi 25 avril 2005
Statut
Membre
Dernière intervention
13 octobre 2006
-
Messages postés
3
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
19 mai 2007
-
hello,
je désire créer un processus pour s'authentifier sur mon site. Mais j'ai des buggs
Quand l'utilisateur se loggue, une page s'affiche pour dire ok vous etes bien loggés et je peux vérifier que dans ma struct... y a bien son nom d'utilisateur et son mot de passe ainsi qu'un booléen qui donne 1 si il est loggé, ou 0 si il est pas loggé.
Pour la structure avec les infos de NU et MP, j'ai créer une variable de session, et je l'ai bien sur activé autant dans mon application.cfm (placé à la base de ma structure) que sur le serveur coldfusion.
1)
Normalement je pourrais réutiliser ma variable de session partout dans mon site non ? vu que le fichier application.cfm se trouve à la base de la structure ?
2) si oui comment faire pour que partout ou je voyage sur mon site, que cette variable de session soit utilisable ?
3) comment faire pour utiliser de partout cette variable de session, quelle code je dois employer ?
Merci pour votre aide
Alf

5 réponses

Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

Bonjour,

apparement beaucoup de questions sur les sessions et ses processus donc :
1. Activer la gestion des sessions au niveau de l'application.
Où ? : fichier application.cfmEx : <cfapplication name "monapplication" sessionTimeout #CreateTimeSpan(0, 0, 20, 0)# sessionManagement = "Yes" > 

2. Création d'une variable de session :
Où ? : fichier application.cfmEx : <cflock  scope "Session" timeout "10" type = "exclusive">
  <cfif NOT IsDefined("session.newsession")>
         <cfset session.newsession = "True"/>
         <cfset session.islog = "False"/>
         <cfset session.une_autre_variable = ""/>
 </cflock>

3. Savoir si un utilisateur est logué :
Où ? : dans toutes les pages
Ex : <cfif not session.islog ><cflocation url="utilisateur_pas_logue.cfm" addtoken="no"></cfif>

4. Modifié une variable de session :
Où ? : n'importe où
Ex : <cfset session.islog = "True"/>

Si malgré cet exemple ton problème persiste, n'hésite pas à poster ton code !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Messages postés
7
Date d'inscription
lundi 25 avril 2005
Statut
Membre
Dernière intervention
13 octobre 2006

Hello Nickadele
Alors je tiens à te dire un grand merci pour tes explications qui m'ont bien aidé à comprendre comment coder cette partie Login. Vraiment génial ce forum.
2 dernières questions si j'ose abuser,
1) comment je fais pour mettre des droits sur chaque utilisateur, du style seulement l'administrateur à le droit d'aller sur une page précise (avec son login : admin et Mp : 1234) ....etc et pas les autres ? Ca se passe au niveau de la requete ou bien ?
2) quand une personne rentre des infos dans un formulaire...ensuite ces infos sont intégrées à ma BD, et je les fais apparaitre ma page index... mais les noms avec des accents apparaissent avec un carrée à la place des accents.
Je sais bien que c'est des histoires de codage etc..mais comment faire pour le faire depuis ma BD ? Je peux pas aller dans ma BD apres chaque insertion pour mettre kes éetc...?
Merci pour ton aide et ta patience
A plus
Alf
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

Hello fingertisch,


1) deux possibilité, hard-codé ou te créer un module qui interroge une DB et qui selon le profil te dira si il a le droit d'utiliser ou non cette page.
Si tu choisis la solution DN tu auras un truc de ce style :
Dans chaque page à sécuriser :
<cfmodule template="isacces.cfm" page="cette_page" url="pasledroit.cfm">
Donc dans le cas ou l'utilisateur n'a pas le droit il sera redirigé vers url="pasledroit.cfm"

la page isacces.cfm :
<cfparam name="attributes.page" default="">
<cfparam name="attributes.url" default="index.cfm">
<cfif attributes.page eq "" or attributes.url eq "">
 <cflocation url="index.cfm" addtoken="no">
 <cfexit method="exittag">
</cfif>
<cfstoredproc datasource="#datasource#" procedure="GetAcces">
 <cfprocresult name="isacces">
 <cfprocparam cfsqltype="cf_sql_varchar" type="in" variable="profilname" value="#session.profil#">
 <cfprocparam cfsqltype="cf_sql_varchar" type="in" variable="pagename" value="#attributes.page#">
</cfstoredproc>
<cfif isacces.RecordCount EQ 0>
  <cflocation url="#attributes.url#" addtoken="no">
  <cfexit method="exittag">
 </cfif>

2) <META http-equiv=Content-Type content="text/html; charset=utf-8"> dans toutes tes pages !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Messages postés
46
Date d'inscription
samedi 1 novembre 2003
Statut
Membre
Dernière intervention
16 avril 2008

Un grand merci pour ton aide, tout fonctionne à present.
Je te remercie pour ta générosité
Salutations
Alf
Messages postés
3
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
19 mai 2007

Est ce que la page application.cfm est complette
et que contient la page pasledroit.cfm
SVP j'ai besoin de ce code pour controler l'accés des utilisateurs par profil aux pages
c'est urgent SVP

<IMG src="/imgs2/smile_black