The cas-servlet.xml in our WEB-INF might have examples of how we configure the different validation controllers.
-Scott -Scott Battaglia PGP Public Key Id: 0x383733AA LinkedIn: http://www.linkedin.com/in/scottbattaglia On Tue, Nov 25, 2008 at 11:07 AM, Rick J. Valles <[EMAIL PROTECTED]> wrote: > 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 > > > > _______________________________________________ > 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
