begin process at 2008 08 07 22:18:38
1 223 148 membres
488 nouveaux aujourd'hui
14 227 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Session en 4.5 ? [ Divers / ColdFusion Server ] (smathios)

Session en 4.5 ? le 07/07/2006 15:28:43

smathios

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

Auriez-vous une idée de là où ça peut venir ??

Merci d'avance !


Re : Session en 4.5 ? le 07/07/2006 15:31:05

smathios
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.

Re : Session en 4.5 ? le 07/07/2006 18:02:17

syndrael
On ne fait po un cflocation après un changement de variable de session..
Il faut passer par un javascript document.location.href = ..
S.


Re : Session en 4.5 ? le 10/07/2006 00:31:26

smathios
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>

Re : Session en 4.5 ? le 10/07/2006 08:44:31

syndrael
Réponse acceptée !
<cfapplication name = "intranet"  sessionManagement = "Yes"> 
<cfif IsDefined("
session.RESA_idUtilisateur")>
<cfset user = session.RESA_idUtilisateur>
<cfelse>
<script language="javascript" type="text/javascript">
   document.location.href ="login.cfm";
</script>
 </cfif>

Ca devrait être proche de la solution..
S.


Re : Session en 4.5 ? le 10/07/2006 09:38:05

smathios


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 !!!

merci encore et bonne journée



Classé sous : login, serveur, utilisateur, fonctionne, session

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS