sesiones Coldfusion - ¿cómo es exactamente CF identificar una conexión/cliente únicosesiones Coldfusion - ¿cómo es exactamente CF identificación de una conexión/cliente único
Después de hacer algo de investigación con CFC remotas que he llamado de la Palabra VBA encontré que establecen sesiones además. Lo que me hizo pensar y buscar en Google (sin éxito) una explicación de cómo CF distingue entre diferentes clientes. Anteriormente había supuesto que se estaba configurando una cookie del navegador para identificar al cliente, pero luego estaba consumiendo un servicio web a través de una aplicación de palabras y todavía obtenía las variables de sesión y el ID de sesión establecido.
Así que si cargo e inicio sesión en mi aplicación a través del navegador (chrome) y toco una página de prueba obtengo jsessionID = 123, si enciendo firefox y inicio de sesión obtengo un jsessionid = 234 diferente como se esperaba. Si presiono un cfc remoto como un servicio web wsdl usando Word VBA, puedo ver que jsessionid = 345 regresó al módulo VBA. Si cierro Word y vuelvo a abrir mi macro (que contiene una solicitud de inicio de sesión para el servicio web) obtengo un nuevo jsessionID = 567
Entonces, ¿qué tiene la solicitud que CF está identificando y cómo persiste la identificación del cliente? ?
Ésta es la misma cuestión en una llamada http VBA
Sub doHTTP()
Dim MyRequest As Object
Dim Val
httpString = "http://localhost:8888/test.cfm"
Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
MyRequest.Open "GET", httpString
' Send Request.
MyRequest.Send
MsgBox MyRequest.ResponseText
'now pass in the session urltoken we have just retreived
MyRequest.Open "GET", httpString & "?urltoken=" & MyRequest.ResponseText
' resend a request, this time with the urltoken.
MyRequest.Send
'take a look and see if the session variables are correct
MsgBox MyRequest.ResponseText
End Sub
en un test.cfm
<cfif isdefined("URL.urltoken")>
<cfset session.urltoken="#URL.urltoken#">
<cfelse>
<cfset session.username="bob">
</cfif>
<cfoutput>session.urltoken="#session.urltoken#"</cfoutput><br>
<cfoutput>session.username="#session.username#"</cfoutput><br>
<cfoutput>session.sessionID="#session.sessionID#"</cfoutput>
bien que ahora trabaja, interesante, voy a tener que recordar para el servicio web o http llamadas que no usan un navegador. Tendré que pasar el ID de sesión en la URL manualmente.
¿Puedes mostrar tu código VBA? – Antony