It appears that when a request is filtered through the
'org.jasig.cas.client.authentication.AuthenticationFilter.class'
using Guice, the request does not even reach the servlet it is
intended for.



On May 4, 11:07 am, garey <[email protected]> wrote:
> I am developing a webapp that I hope will integrate Guice,
> VelocityViewServlet, and JASIG's CAS (Centralized Authentication
> Service) client.
>
> I have already determined that the VelocityViewServlet cannot be
> controlled by Guice. VelocityViewServlet is a template resolver that
> allows the template to access Java objects found in the various webapp
> contexts(ServletContext, HttpRequestContext, ...), and Guice does not
> pass the contexts correctly to VelocityViewServlet when a request is
> forwarded to it. So the VelocityViewServlet is included in web.xml,
> and here it is:
>
>         <filter>
>             <filter-name>guiceFilter</filter-name>
>             <filter-class>com.google.inject.servlet.GuiceFilter</
> filter-class>
>         </filter>
>
>         <filter-mapping>
>             <filter-name>guiceFilter</filter-name>
>             <url-pattern>/*</url-pattern>
>         </filter-mapping>
>
>         <listener>
>             <listener-
> class>edu.berkeley.library.mapup.GuiceServletConfig</listener-class>
>         </listener>
>
>         <servlet>
>             <servlet-name>Velocity Servlet</servlet-name>
>             <servlet-
> class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-
> class>
>             <load-on-startup>1</load-on-startup>
>         </servlet>
>
>         <servlet-mapping>
>             <servlet-name>Velocity Servlet</servlet-name>
>             <url-pattern>*.vm</url-pattern>
>         </servlet-mapping>
>
> Using this setup, everything worked fine. Servlets controlled by Guice
> could forward to VelocityViewServlet and VelocityViewServlet could see
> and use the objects in the contexts. Then I tried to add CAS.
>
> CAS is instantiated as a series of filters, which are configured by
> init-params. Here is my ServletModule
>
> bind(org.jasig.cas.client.authentication.AuthenticationFilter.class).in(Singleton.class);
>         Map<String, String> auth_params = new HashMap<String, String>();
>         auth_params.put("casServerLoginUrl", "https://auth-test.berkeley.edu/
> cas/login");
>         auth_params.put("serverName", "linuxdev.lib.berkeley.edu:7654");
>
>         filter("/in/
> *").through(org.jasig.cas.client.authentication.AuthenticationFilter.class,
> auth_params);
>
> bind(org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter.class).in(Singleton.class);
>         Map<String, String> valid_params = new HashMap<String, String>();
>         valid_params.put("casServerUrlPrefix", "https://auth-
> test.berkeley.edu/cas");
>         valid_params.put("serverName", "linuxdev.lib.berkeley.edu:7654");
>
>         filter("/in/
> *").through(org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter.class,
> valid_params);
>
> bind(org.jasig.cas.client.util.HttpServletRequestWrapperFilter.class).in(Singleton.class);
>
>         filter("/in/
> *").through(org.jasig.cas.client.util.HttpServletRequestWrapperFilter.class);
>
> bind(org.jasig.cas.client.util.AssertionThreadLocalFilter.class).in(Singleton.class);
>         filter("/in/
> *").through(org.jasig.cas.client.util.AssertionThreadLocalFilter.class);
>
>         serve("/in/gisuserform").with(GisRegisterServlet.class);
>         serve("/in/
> contributorDashboard").with(ContributorDashboardServlet.class);
>
> When I put these filters in, output from the VelocityViewServlet,
> which should be a text/html file, consists of a couple of control
> characters only.
>
> We have integrated CAS into a number of webapps without Guice. There
> is something going on in the interaction between Guice and these
> filters and VelocityViewServlet, but I can't see even how to debug it.
>
> Anyone have any ideas?
>
> Garey Mills

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to