Greg's Blog

helping me remember what I figure out

Session Tracking

| Comments

In recent weeks I have noticed a decided increase in information exposing Java methods to ColdFusion. This one here from RewindLife shows how to put an undocumented function to good use and track the users session. Check out this titbit of code (for simplicities sake put it in your Application.cfm):

<cfapplication name=”sessionInfoTester” sessionManagement=”true”>
<cfparam name=”session.sUser.timeArrived” default=”#now()#” />
<cfset session.sUser.lastClick=now() />
<cfset tracker = createObject(“java”,”coldfusion.runtime.SessionTracker”) />
<cfset sessions = tracker.getSessionCollection(application.applicationName) />

<cfset count=0>
<cfloop collection=”#sessions#” item=”s”>
<cfset count=count+1 />
<cfoutput>
<strong>#s#</strong><lbr />
- Time arrived at #lcase(timeformat(sessions[s].sUser.timeArrived,’h:mmtt’))#<br />
- Last click #datediff(’s’,sessions[s].sUser.lastClick,now())#
second<cfif datediff(’s’,sessions[s].sUser.lastClick,now()) NEQ 1>s</cfif> ago
</cfoutput>
<br />
</cfloop>

<cfdump var=”#sessions#” />