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/scottbattagliaOn 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/scottbattagliaOn 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.javasource, it was written by Mr. Peter Kharchenko of this mailing list; Idon'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 Isee 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 isno 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
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Yale CAS mailing list [email protected] http://tp.its.yale.edu/mailman/listinfo/cas
