I'm working on switching our application from Basic to Form authentication.
I had Cactus working fine with:

      request.setRedirectorName("ServletRedirectorSecure");
      request.setAuthentication(new BasicAuthentication("user", "password");

I changed our web.xml from BASIC to FORM, switched the application, and that
all works fine.  Cactus, however, fails when I change the above to:

      request.setRedirectorName("ServletRedirectorSecure");
      request.setAuthentication(new FormAuthentication("user", "password");

which should work according to
http://jakarta.apache.org/cactus/writing/howto_security.html

With BasicAuthentication, everything works fine and I get this in my access
log:

127.0.0.1 - user [29/Apr/2008:14:32:48 -0500] "GET
/application/ServletRedirectorSecure?Cactus_TestMethod=testMethod&Cactus_TestClass=com.company.TestClass&Cactus_AutomaticSession=true&Cactus_Service=CALL_TEST
HTTP/1.1" 200 -
127.0.0.1 - user [29/Apr/2008:14:32:48 -0500] "GET
/application/ServletRedirectorSecure?Cactus_Service=GET_RESULTS HTTP/1.1"
200 23


With FormAuthentication, I get  "Missing service name parameter
[Cactus_Service] in HTTP request." and "Error getting test result. This
could happen for example if you're using a load-balancer."  This is what I
see in my access log:

127.0.0.1 - - [29/Apr/2008:16:50:18 -0500] "GET
/application/ServletRedirectorSecure HTTP/1.1" 200 2357
127.0.0.1 - - [29/Apr/2008:16:50:18 -0500] "POST
/application/j_security_check HTTP/1.1" 302 -
127.0.0.1 - user [29/Apr/2008:16:50:18 -0500] "GET
/application/ServletRedirectorSecure HTTP/1.1" 500 2527
127.0.0.1 - user [29/Apr/2008:16:50:18 -0500] "GET
/application/ServletRedirectorSecure?Cactus_Service=GET_RESULTS HTTP/1.1"
500 2556

It seems to be losing the http parameters when I use form auth.  Did
something change between the time the docs were written and now?  Is there a
better FormAuthentication example?

Has anybody gotten FormAuthentication to work?

Thanks,
Eric

Reply via email to