Sesje ColdFusion - jak dokładnie jest CF identyfikacji połączenia/wyjątkowy klientColdFusion sesje - jak dokładnie jest CF identyfikujących połączenia/wyjątkowy klient
Po wykonaniu niektórych kopanie z odległych CFC zadzwoniłem z programu Word VBA znalazłem one ustawione sesje również. Które zmusiło mnie do myślenia i Googling (bez powodzenia) dla wyjaśnienia, w jaki sposób CF rozróżnia różnych klientów. Wcześniej zakładałem, że jest to plik cookie przeglądarki, który identyfikuje klienta, ale w tym przypadku korzystałem z usługi internetowej za pomocą aplikacji słownej i nadal otrzymywałem zmienne sesji i zestaw identyfikacyjny sesji.
Więc jeśli załaduję i zaloguję się do mojej aplikacji przez przeglądarkę (chrome) i trafię na stronę testową, otrzymam jsessionID = 123, jeśli uruchomię firefox i zaloguję się, otrzymam inny jsessionid = 234 zgodnie z oczekiwaniami. Jeśli trafię zdalny cfc jako usługa wsdl usługi Web przy użyciu Word VBA, widzę jsessionid = 345 zwrócone do modułu VBA. Jeśli zamykam program Word i ponownie otwieram moje makro (zawierające żądanie logowania do usługi sieciowej), otrzymuję nowy identyfikator jsessionID = 567
Co to jest w przypadku żądania identyfikowania CF i utrzymywania identyfikacji klienta ?
Jest to ten sam problem w VBA http rozmowy
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
w 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>
OK, że teraz działa, ciekawe, będę musiał pamiętać o usługi internetowej lub http nie używa przeglądarki, będę musiał ręcznie przekazać identyfikator sesji w adresie URL.
Czy możesz pokazać swój kod VBA? – Antony