This is a simple CAS Client for ColdFusion. It is based on the CAS ColdFusion Client found here:

 

https://wiki.jasig.org/display/CASC/ColdFusion+client+script

 

 

// ColdFusion MX 6.1 code that uses CAS 2.0

 

// Christian Stuck

// stuckc@rider.edu

// Westminster Choir College

// Princeton, New Jersey --->

 

<cflock scope="Session" type="ReadOnly" timeout="30" throwontimeout="no">

 <cfset

MM_Username=Iif(IsDefined("Session.MM_Username"),"Session.MM_Username",DE(""

))>

 <cfset

MM_UserAuthorization=Iif(IsDefined("Session.MM_UserAuthorization"),"Session.

MM_UserAuthorization",DE(""))>

</cflock>

<!--- // Insert name of CAS Server at your location --->

<cfset CAS_Server = "https://login.gatech.edu/cas/">

 

<cfset MyServer = "http://www.myserver.gatech.edu">

 

<!--- See if already logged on --->

<cfif MM_Username EQ "">

<!--- Check for ticket returned by CAS redirect --->

<cfset ticket=Iif(IsDefined("URL.ticket"),"URL.ticket",DE(""))>

<cfif ticket EQ "">

  <!--- No session, no ticket, Redirect to CAS Logon page --->

       <cfset casurl = #CAS_Server# & "login?" & "service=" & #MyServer# &

"/login.cfm">

       <cflocation url="#casurl#" addtoken="no">

<cfelse>

<!--- Back from CAS, validate ticket and get userid --->

<cfset casurl = #CAS_Server# & "serviceValidate?ticket=" & #URL.ticket# &

"&" & "service=" & MyServer & "/login.cfm">

<!---        http.open("GET",url,false); // HTTP transaction to CAS server

       http.send(); --->

<cfhttp url="#casurl#" method="get"></cfhttp>

<cfset objXML = xmlParse(cfhttp.filecontent)>

<cfset SearchResults = XmlSearch(objXML,

"cas:serviceResponse/cas:authenticationSuccess/cas:user")>

<cfif NOT ArrayIsEmpty(SearchResults)>

<cfset NetId = #SearchResults[1].XmlText#>

<cfelse>

       <cfset casurl = #CAS_Server# & "login?" & "service=" & #MyServer# &

"/login.cfm">

       <cflocation url="#casurl#" addtoken="no">

</cfif></cfif></cfif>

 

Welcome!<br>

<cfoutput>#NetID#</cfoutput>