smathios
Messages postés24Date d'inscriptionjeudi 26 juin 2003StatutMembreDernière intervention 6 octobre 2006
-
7 juil. 2006 à 15:28
smathios
Messages postés24Date d'inscriptionjeudi 26 juin 2003StatutMembreDernière intervention 6 octobre 2006
-
10 juil. 2006 à 09:38
Bonjour à tous,
je développe une appli sous MX, qui va être hébergée sur 4.5 et avant de trop avancer mon dév, j'ai testé le fonctionnement des sessions.
évidemment, ça ne fonctionne pas et je me demande si ça vient du paramétrage du serveur 4.5 ou des fonctions qui diffèrent...
j'utilise ce bout de code pour mettre mes variables en session, ce code est celui de la page qui valide le formulaire de login :
<!-- Mise à "" de la variable de session RESA --> <cfapplication name "intranet" sessionManagement "Yes">
<cflock scope="Session" timeout="30" type ="Exclusive">
<cfset session.RESA_idUtilisateur = "">
<cfset session.RESA_nomUtilisateur = "">
<cfset session.RESA_prenomUtilisateur = "">
</cflock>
<!-- Vérif dans la BDD si USER existe -->
<cfquery name="rechercheUser" datasource="RESA">
SELECT ID_UTILISATEUR, NOM, PRENOM
FROM UTILISATEUR
WHERE UTILISATEUR.LOGIN = '#Form.login#'
AND UTILISATEUR.PASSWORD = '#Form.password#'
</cfquery>
<cfset nb_result = #rechercheUser.recordcount#>
<!-- On trouve 1 résultat à la recherche de user -->
<cfif nb_result IS NOT 0>
<!-- Mise en session du idUser -->
<cfset session.RESA_idUtilisateur = #rechercheUser.ID_UTILISATEUR#>
<cfset session.RESA_nomUtilisateur = #rechercheUser.NOM#>
<cfset session.RESA_prenomUtilisateur = #rechercheUser.PRENOM#>
<!-- Renvoi sur la page de menu-->
<cflocation url="menu.cfm">
<cfelse>
<cflocation url="login.cfm">
</cfif>
Ensuite, sur la page de menu, je teste l'existence des variables de session pour m'assurer que des petits malins ne puissent pas y accéder en tapant directement l'URL :
<cfapplication name "intranet" sessionManagement "Yes">
<cftry>
<cfset user = #session.RESA_idUtilisateur#>
<cfif user EQ "">
<cfset myUrl = "login.cfm">
<cflocation url=#myUrl#>
</cfif>
<cfcatch>
<cfset myUrl = "login.cfm">
<cflocation url=#myUrl#>
</cfcatch>
</cftry>
Tout cela fonctionne très bien chez moi mais pas sur le serveur de l'hébergeur, en 4.5
smathios
Messages postés24Date d'inscriptionjeudi 26 juin 2003StatutMembreDernière intervention 6 octobre 2006 7 juil. 2006 à 15:31
Au fait quand je dis que ça ne fonctionne pas sur le serveur 4.5, il faut comprendre :
- je n'ai aucun message d'erreur,
- je me retrouve systématiquement sur la page de login alors que l'accès BDD est bon et que la requête ne renvoie pas non plus d'erreur.
smathios
Messages postés24Date d'inscriptionjeudi 26 juin 2003StatutMembreDernière intervention 6 octobre 2006 10 juil. 2006 à 00:31
merci mais... on peut mettre du javascript au milieu du code coldfusion ??!!
au lieu de :
<cfapplication name "intranet" sessionManagement "Yes">
<cftry>
<cfset user = #session.RESA_idUtilisateur#>
<cfif user EQ "">
<cfset myUrl = "login.cfm">
<cflocation url=#myUrl#>
</cfif>
<cfcatch>
<cfset myUrl = "login.cfm">
<cflocation url=#myUrl#>
</cfcatch>
</cftry>
si je mets ça, c'est possible ??
<cfapplication name "intranet" sessionManagement "Yes">
<cftry>
<cfset user = #session.RESA_idUtilisateur#>
<cfif user EQ "">
document.location.href ="login.cfm";
</cfif>
<cfcatch>
document.location.href = "login.cfm";
</cfcatch>
</cftry>
Vous n’avez pas trouvé la réponse que vous recherchez ?
smathios
Messages postés24Date d'inscriptionjeudi 26 juin 2003StatutMembreDernière intervention 6 octobre 2006 10 juil. 2006 à 09:38
merci beaucoup syndrael, ça fonctionne parfaitement.
Je savais pas qu'on pouvait mettre du JS dans du CF, je dois dire que ça va bien m'aider parceque plusieurs fois j'ai dû ruser pour contourner ça, alors que j'aurais pu faire tellement plus simple !!!