Thanks again, Scott.  I'll look into the Validation Controller area.


Rick

On Nov 25, 2008, at 8:02 AM, Scott Battaglia wrote:

Forgot to add before, I haven't looked at your custom filter too closely, but if all its doing is sending back a custom response, you can create a new validation endpoint using our existing Validation Controllers (that might require looking at the code) and configuring the controller to point to a different response that returns what you need.

We use the same validation controller framework to return responses for CAS1, CAS2, and SAML1.1.

-Scott

-Scott Battaglia
PGP Public Key Id: 0x383733AA
LinkedIn: http://www.linkedin.com/in/scottbattaglia


On Tue, Nov 25, 2008 at 9:52 AM, Rick J. Valles <[EMAIL PROTECTED]> wrote: Thank you, Scott. I will dig deeper into the CAS User Manual and documentation.

Y'all keep up the great work, and don't forget to stop by for that Cafe Mocha and Scone sometime. :)


Rick


On Nov 25, 2008, at 7:36 AM, Scott Battaglia wrote:

Rick,

I would suggest you take a look at the available document for the CAS3 project. Architecturally, CAS3 and CAS2 share nothing in common. Its not a matter of whether its deprecated or not, they don't share the same code base AT ALL:

http://www.ja-sig.org/wiki/display/CASUM/Home

-Scott

-Scott Battaglia
PGP Public Key Id: 0x383733AA
LinkedIn: http://www.linkedin.com/in/scottbattaglia


On Tue, Nov 25, 2008 at 6:44 AM, Rick J. Valles <[EMAIL PROTECTED]> wrote:
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

_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas


_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas


_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas

Reply via email to