Variable de session

fingertisch Messages postés 7 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 13 octobre 2006 - 27 août 2006 à 11:53
cs_nadoucha Messages postés 3 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 19 mai 2007 - 19 mai 2007 à 14:38
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

nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
27 août 2006 à 14:20
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
0
fingertisch Messages postés 7 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 13 octobre 2006
28 août 2006 à 23:16
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
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
29 août 2006 à 00:15
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
0
alf666666 Messages postés 46 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 16 avril 2008
11 sept. 2006 à 21:51
Un grand merci pour ton aide, tout fonctionne à present.
Je te remercie pour ta générosité
Salutations
Alf
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_nadoucha Messages postés 3 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 19 mai 2007
19 mai 2007 à 14:38
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
0
Rejoignez-nous