Greetings,

I've inherited a CAS2 implementation, which I'm in the process of  
migrating  to CAS3 (3.3.1).  Our local LDAP and skins customizations  
all work fine.

However, our CAS2 is using an additional servlet called CF50Validate  
(see web.xml and source, below), which is used for our local Cold  
Fusion application interactions.  According to the CF50Validate.java  
source, it was written by Mr. Peter Kharchenko of this mailing list; I  
don't know if my site has further modified his source.  Thanks for  
helping us with our CAS2 implementation, Peter.

CF50Validate imports ServiceTicket and ServiceTicketCache.  Although I  
see ServiceTicketCache in CAS2, I don't see it in CAS3 (i.e., $ 
{CAS_HOME}/cas-server-core/src/main/java/org/jasig/cas/ticket).

Question 1:  Is ServiceTicketCache a deprecated class?

Question 2:  If it is deprecated, is it because its functionality is  
no longer needed, or that functionality is now incorporated elsewhere?

Question 3:  Any other glaring inconsistencies or problems you have  
noticed with our take on things?

Thank you for taking the time to read this.  If you're ever passing  
through Albuquerque, I'm good for a Cafe Mocha and a Scone!

Best,


Rick J. Valles
The University of New Mexico
Albuquerque, New Mexico  USA
---

Here are the CF50Validate references in web.xml in our CAS2  
configuration:

     <servlet-mapping>
       <servlet-name>CF50Validate</servlet-name>
       <url-pattern>/cf50validate</url-pattern>
     </servlet-mapping>

     <!-- CF 5.0 validation -->
     <servlet>
       <servlet-name>CF50Validate</servlet-name>
       <servlet-class>edu.yale.its.tp.cas.servlet.CF50Validate</ 
servlet-class>
     </servlet>


Here is the CF50Validate.java used in our CAS2 configuration:

package edu.yale.its.tp.cas.servlet;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import edu.yale.its.tp.cas.ticket.*;

/**
  * An implementation almost identical to the basic CAS validator,  
except that the output format is a bit different.
  * @author  (removed information to avoid email address harvesting)
  * @version 1.0
  */
public class CF50Validate extends HttpServlet {
     // failure codes
     private static final String INVALID_REQUEST = "INVALID_REQUEST";
     private static final String INVALID_TICKET = "INVALID_TICKET";
     private static final String INVALID_SERVICE = "INVALID_SERVICE";
     private static final String INTERNAL_ERROR = "INTERNAL_ERROR";


   // 
*********************************************************************
   // Private state

   private ServiceTicketCache stCache;

   // 
*********************************************************************
   // Initialization

   public void init(ServletConfig config) throws ServletException {
     // retrieve the cache
     stCache =
       (ServiceTicketCache)  
config.getServletContext().getAttribute("stCache");
   }

   // 
*********************************************************************
   // Request handling

   public void doGet(HttpServletRequest request, HttpServletResponse  
response) {
     try {
       PrintWriter out = response.getWriter();
       out.println("# Cold fusion 5.0 mandatory header line");
       if (request.getParameter("service") == null
           || request.getParameter("ticket") == null) {
         out.println("\"no\"\n\"'service' and 'ticket' parameters are  
both required\"");
       } else {
         String ticket = request.getParameter("ticket");
         String service = request.getParameter("service");
         ServiceTicket st = (ServiceTicket) stCache.getTicket(ticket);
        if(st!=null) {
            if(st.getService().equals(service)) {
                out.println("\"yes\"\n\"" + st.getUsername() +"\"");
            } else {
                out.println("\"no\"\n\"ticket does not match the supplied 
service\"");
            }
        } else {
            out.println("\"no\"\n\"ticket did not validate\"");
        }
       }
     } catch (Exception ex) {
       try {
         response.getWriter().println("\"no\"\n\"Exception  
encountered: "+ex.toString()+"\"");
       } catch (IOException ignoredEx) {
         // ignore
       }
     }
   }
}
_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas

Reply via email to