Hi Jason/Vincent, I checked out the code changes and as expected the first call gets the JSESSIONID from the Server to proceed with calling the servlet set by Webrequest.setURL() .The GET_RESULTS query now use the same redirector. I am having a little glitch with the test as I am getting a 404 return code for a valid servlet.
My tests are simple like the examples in cactus distro. /** * Method beginBasicAuthentication. */ public void beginBasicAuthentication(WebRequest theRequest) { log.info("#################### setting test environment#######################"); theRequest.setURL("localhost:8080", "", "/secure/idsconf", null, null); theRequest.addCookie( "test", "test" ); theRequest.setRedirectorName("ServletRedirectorSecure"); theRequest.setAuthentication(new FormAuthentication("admin", "admin22")); } /** * Method testBasicAuthentication. */ public void testBasicAuthentication() { try { log.info("###########################Started testing########################"); assertEquals("admin", request.getUserPrincipal().getName()); assertEquals("admin", request.getRemoteUser()); assertTrue("User not in 'admin' role", request.isUserInRole("admin")); // Verify URI assertEquals("/secure/idsconf", request.getRequestURI()); // Verify server name assertEquals("localhost", request.getServerName()); // Returns 8080 when no port is specified assertEquals(8080, request.getServerPort()); // Return "" when no context path is defined assertEquals("", request.getContextPath()); idsconfServlet servlet = new idsconfServlet(); servlet.init(this.config); servlet.doGet(this.request,this.response); } catch (ServletException e) { log.error(e); } catch (IOException e) { log.error(e); } } P.S. Am I doing something wrong with the tests ? The logs after the FormAuthentication show that an attempt is being made to CALL_TEST. After which it gets the 404 Not found return code for this query http://localhost:8080/ServletRedirectorSecure?Cactus_TestMethod=testBasicAut hentication&Cactus_URL_ContextPath=&Cactus_URL_Server=localhost%3A8080&Cactu s_URL_ServletPath=%2Fsecure%2Fidsconf&Cactus_TestClass=com.ids.servlet.TestL oginServlet&Cactus_AutomaticSession=true&Cactus_URL_Protocol=http&Cactus_Ser vice=CALL_TEST It appears that cactus loses direction on the server side of the framework.BTW how do you get the logs of the serverside of the framework ? I couldn't help the huge logs ,just wanted to convey the idea. The last cactus nightly build was 10/22 when is the next one scheduled ? It was pain trying to build it from CVS with aspectJ and checkstyle giving the most grief. Pranab 20:22:09,207 [main] DEBUG hentication.FormAuthentication - >configure 20:22:09,207 [main] DEBUG cactus.WebRequest - <getParameterValuesGet([Cactus_TestMethod]) 20:22:09,207 [main] DEBUG cactus.WebRequest - >getParameterValuesGet = [[Ljava.lang.String;@99681b] 20:22:09,207 [main] DEBUG cactus.WebRequest - <getParameterValuesGet([Cactus_URL_ContextPath]) 20:22:09,207 [main] DEBUG cactus.WebRequest - >getParameterValuesGet = [[Ljava.lang.String;@2d3205] 20:22:09,207 [main] DEBUG cactus.WebRequest - <getParameterValuesGet([Cactus_URL_Server]) 20:22:09,207 [main] DEBUG cactus.WebRequest - >getParameterValuesGet = [[Ljava.lang.String;@2f1921] 20:22:09,207 [main] DEBUG cactus.WebRequest - <getParameterValuesGet([Cactus_URL_ServletPath]) 20:22:09,207 [main] DEBUG cactus.WebRequest - >getParameterValuesGet = [[Ljava.lang.String;@1adc30] 20:22:09,207 [main] DEBUG cactus.WebRequest - <getParameterValuesGet([Cactus_TestClass]) 20:22:09,207 [main] DEBUG cactus.WebRequest - >getParameterValuesGet = [[Ljava.lang.String;@6df84b] 20:22:09,207 [main] DEBUG cactus.WebRequest - <getParameterValuesGet([Cactus_AutomaticSession]) 20:22:09,207 [main] DEBUG cactus.WebRequest - >getParameterValuesGet = [[Ljava.lang.String;@c832d2] 20:22:09,207 [main] DEBUG cactus.WebRequest - <getParameterValuesGet([Cactus_URL_Protocol]) 20:22:09,207 [main] DEBUG cactus.WebRequest - >getParameterValuesGet = [[Ljava.lang.String;@808199] 20:22:09,207 [main] DEBUG cactus.WebRequest - <getParameterValuesGet([Cactus_Service]) 20:22:09,207 [main] DEBUG cactus.WebRequest - >getParameterValuesGet = [[Ljava.lang.String;@bc887b] 20:22:09,207 [main] DEBUG util.UrlUtil - <getPath([http://localhost:8080/ServletRedirectorSecure?Cactus_TestMethod=te stBasicAuthentication&Cactus_URL_ContextPath=&Cactus_URL_Server=localhost%3A 8080&Cactus_URL_ServletPath=%2Fsecure%2Fidsconf&Cactus_TestClass=com.ids.ser vlet.TestLoginServlet&Cactus_AutomaticSession=true&Cactus_URL_Protocol=http& Cactus_Service=CALL_TEST]) 20:22:09,207 [main] DEBUG util.UrlUtil - >getPath = [/ServletRedirectorSecure] 20:22:09,207 [main] DEBUG util.UrlUtil - <getQuery([http://localhost:8080/ServletRedirectorSecure?Cactus_TestMethod=t estBasicAuthentication&Cactus_URL_ContextPath=&Cactus_URL_Server=localhost%3 A8080&Cactus_URL_ServletPath=%2Fsecure%2Fidsconf&Cactus_TestClass=com.ids.se rvlet.TestLoginServlet&Cactus_AutomaticSession=true&Cactus_URL_Protocol=http &Cactus_Service=CALL_TEST]) 20:22:09,207 [main] DEBUG util.UrlUtil - >getQuery = [Cactus_TestMethod=testBasicAuthentication&Cactus_URL_ContextPath=&Cactus_UR L_Server=localhost%3A8080&Cactus_URL_ServletPath=%2Fsecure%2Fidsconf&Cactus_ TestClass=com.ids.servlet.TestLoginServlet&Cactus_AutomaticSession=true&Cact us_URL_Protocol=http&Cactus_Service=CALL_TEST] 20:22:09,207 [main] DEBUG ent.HttpClientConnectionHelper - <getCookieString([simulation URL = [protocol = [http], host name = [localhost], port = [8080], context path = [], servlet path = [/secure/idsconf], path info = [null], query string = [null]], automatic session = [true], cookies = [[name = [test], value = [test], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]][name = [JSESSIONID], value = [417F0AF81C47F5242AF988C66DAAFE11], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_TestMethod] = [[testBasicAuthentication]]][[Cactus_URL_ContextPath] = [[]]][[Cactus_URL_Server] = [[localhost:8080]]][[Cactus_URL_ServletPath] = [[/secure/idsconf]]][[Cactus_TestClass] = [[com.ids.servlet.TestLoginServlet]]][[Cactus_AutomaticSession] = [[true]]][[Cactus_URL_Protocol] = [[http]]][[Cactus_Service] = [[CALL_TEST]]]], POST parameters = []], [http://localhost:8080/ServletRedirectorSecure?Cactus_TestMethod=testBasicAu thentication&Cactus_URL_ContextPath=&Cactus_URL_Server=localhost%3A8080&Cact us_URL_ServletPath=%2Fsecure%2Fidsconf&Cactus_TestClass=com.ids.servlet.Test LoginServlet&Cactus_AutomaticSession=true&Cactus_URL_Protocol=http&Cactus_Se rvice=CALL_TEST]) 20:22:09,207 [main] DEBUG cactus.Cookie - <getCookiePath([simulation URL = [protocol = [http], host name = [localhost], port = [8080], context path = [], servlet path = [/secure/idsconf], path info = [null], query string = [null]], automatic session = [true], cookies = [[name = [test], value = [test], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]][name = [JSESSIONID], value = [417F0AF81C47F5242AF988C66DAAFE11], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_TestMethod] = [[testBasicAuthentication]]][[Cactus_URL_ContextPath] = [[]]][[Cactus_URL_Server] = [[localhost:8080]]][[Cactus_URL_ServletPath] = [[/secure/idsconf]]][[Cactus_TestClass] = [[com.ids.servlet.TestLoginServlet]]][[Cactus_AutomaticSession] = [[true]]][[Cactus_URL_Protocol] = [[http]]][[Cactus_Service] = [[CALL_TEST]]]], POST parameters = []], [/ServletRedirectorSecure?Cactus_TestMethod=testBasicAuthentication&Cactus_U RL_ContextPath=&Cactus_URL_Server=localhost%3A8080&Cactus_URL_ServletPath=%2 Fsecure%2Fidsconf&Cactus_TestClass=com.ids.servlet.TestLoginServlet&Cactus_A utomaticSession=true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST]) 20:22:09,207 [main] DEBUG cactus.Cookie - Cookie validation pah = [/secure/idsconf] 20:22:09,207 [main] DEBUG cactus.Cookie - >getCookiePath = [/secure/idsconf] 20:22:09,207 [main] DEBUG cactus.Cookie - <getCookiePath([simulation URL = [protocol = [http], host name = [localhost], port = [8080], context path = [], servlet path = [/secure/idsconf], path info = [null], query string = [null]], automatic session = [true], cookies = [[name = [test], value = [test], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]][name = [JSESSIONID], value = [417F0AF81C47F5242AF988C66DAAFE11], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_TestMethod] = [[testBasicAuthentication]]][[Cactus_URL_ContextPath] = [[]]][[Cactus_URL_Server] = [[localhost:8080]]][[Cactus_URL_ServletPath] = [[/secure/idsconf]]][[Cactus_TestClass] = [[com.ids.servlet.TestLoginServlet]]][[Cactus_AutomaticSession] = [[true]]][[Cactus_URL_Protocol] = [[http]]][[Cactus_Service] = [[CALL_TEST]]]], POST parameters = []], [/ServletRedirectorSecure?Cactus_TestMethod=testBasicAuthentication&Cactus_U RL_ContextPath=&Cactus_URL_Server=localhost%3A8080&Cactus_URL_ServletPath=%2 Fsecure%2Fidsconf&Cactus_TestClass=com.ids.servlet.TestLoginServlet&Cactus_A utomaticSession=true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST]) 20:22:09,207 [main] DEBUG cactus.Cookie - Cookie validation pah = [/secure/idsconf] 20:22:09,207 [main] DEBUG cactus.Cookie - >getCookiePath = [/secure/idsconf] 20:22:09,207 [main] DEBUG cactus.Cookie - <getCookieDomain([simulation URL = [protocol = [http], host name = [localhost], port = [8080], context path = [], servlet path = [/secure/idsconf], path info = [null], query string = [null]], automatic session = [true], cookies = [[name = [test], value = [test], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]][name = [JSESSIONID], value = [417F0AF81C47F5242AF988C66DAAFE11], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_TestMethod] = [[testBasicAuthentication]]][[Cactus_URL_ContextPath] = [[]]][[Cactus_URL_Server] = [[localhost:8080]]][[Cactus_URL_ServletPath] = [[/secure/idsconf]]][[Cactus_TestClass] = [[com.ids.servlet.TestLoginServlet]]][[Cactus_AutomaticSession] = [[true]]][[Cactus_URL_Protocol] = [[http]]][[Cactus_Service] = [[CALL_TEST]]]], POST parameters = []], [localhost]) 20:22:09,217 [main] DEBUG cactus.Cookie - Cookie validation domain = [localhost] 20:22:09,217 [main] DEBUG cactus.Cookie - >getCookieDomain = [localhost] 20:22:09,217 [main] DEBUG cactus.Cookie - <getCookiePath([simulation URL = [protocol = [http], host name = [localhost], port = [8080], context path = [], servlet path = [/secure/idsconf], path info = [null], query string = [null]], automatic session = [true], cookies = [[name = [test], value = [test], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]][name = [JSESSIONID], value = [417F0AF81C47F5242AF988C66DAAFE11], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_TestMethod] = [[testBasicAuthentication]]][[Cactus_URL_ContextPath] = [[]]][[Cactus_URL_Server] = [[localhost:8080]]][[Cactus_URL_ServletPath] = [[/secure/idsconf]]][[Cactus_TestClass] = [[com.ids.servlet.TestLoginServlet]]][[Cactus_AutomaticSession] = [[true]]][[Cactus_URL_Protocol] = [[http]]][[Cactus_Service] = [[CALL_TEST]]]], POST parameters = []], [/ServletRedirectorSecure?Cactus_TestMethod=testBasicAuthentication&Cactus_U RL_ContextPath=&Cactus_URL_Server=localhost%3A8080&Cactus_URL_ServletPath=%2 Fsecure%2Fidsconf&Cactus_TestClass=com.ids.servlet.TestLoginServlet&Cactus_A utomaticSession=true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST]) 20:22:09,217 [main] DEBUG cactus.Cookie - Cookie validation pah = [/secure/idsconf] 20:22:09,217 [main] DEBUG cactus.Cookie - >getCookiePath = [/secure/idsconf] 20:22:09,217 [main] DEBUG ent.HttpClientConnectionHelper - >getCookieString = [$Version=0; test=test; JSESSIONID=417F0AF81C47F5242AF988C66DAAFE11] 20:22:11,230 [main] DEBUG ent.HttpClientConnectionHelper - >connect = [org.apache.cactus.util.HttpURLConnection:http://localhost:8080/ServletRedir ectorSecure?Cactus_TestMethod=testBasicAuthentication&Cactus_URL_ContextPath =&Cactus_URL_Server=localhost%3A8080&Cactus_URL_ServletPath=%2Fsecure%2Fidsc onf&Cactus_TestClass=com.ids.servlet.TestLoginServlet&Cactus_AutomaticSessio n=true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST] 20:22:11,230 [main] DEBUG ient.AutoReadHttpURLConnection - Original connection = org.apache.cactus.util.HttpURLConnection:http://localhost:8080/ServletRedire ctorSecure?Cactus_TestMethod=testBasicAuthentication&Cactus_URL_ContextPath= &Cactus_URL_Server=localhost%3A8080&Cactus_URL_ServletPath=%2Fsecure%2Fidsco nf&Cactus_TestClass=com.ids.servlet.TestLoginServlet&Cactus_AutomaticSession =true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST 20:22:11,230 [main] DEBUG util.HttpURLConnection - <getHeaderField([content-length]) 20:22:11,230 [main] DEBUG util.HttpURLConnection - >getHeaderField = [null] 20:22:11,230 [main] DEBUG ient.AutoReadHttpURLConnection - Content-Length : [-1] 20:22:11,230 [main] DEBUG util.HttpURLConnection - <getHeaderField([content-length]) 20:22:11,230 [main] DEBUG util.HttpURLConnection - >getHeaderField = [null] 20:22:11,230 [main] DEBUG ient.AutoReadHttpURLConnection - Read [185]: [\n\r\n\r\n\r\n\r<html lang="en" xml:lang="en">\n\r<head>\n\r<title>Error 404</title>\n\r</head>\n\r\n\r<body>\n\r\n\r<div>\n\r\n\r<p>Error 404</p>\n\r\n\r<p>Resource Not Found</p>\n\r\n\r</div>\n\r\n\r</body>\n\r\n\r</html>\n\r] 20:22:11,240 [main] DEBUG cactus.WebRequest - <addParameter([Cactus_Service], [GET_RESULTS], [GET]) 20:22:11,240 [main] DEBUG cactus.WebRequest - >addParameter 20:22:11,240 [main] DEBUG cactus.WebRequest - <setRedirectorName([ServletRedirectorSecure]) 20:22:11,240 [main] DEBUG cactus.WebRequest - >setRedirectorName 20:22:11,240 [main] DEBUG cactus.WebRequest - <setAuthentication([org.apache.cactus.client.authentication.FormAuthenticati on@301ed8]) 20:22:11,240 [main] DEBUG hentication.FormAuthentication - <setConfiguration([org.apache.cactus.util.ServletConfiguration@6d084b]) 20:22:11,240 [main] DEBUG hentication.FormAuthentication - >setConfiguration 20:22:11,240 [main] DEBUG cactus.WebRequest - >setAuthentication 20:22:11,240 [main] DEBUG util.ServletConfiguration - <getRedirectorURL([simulation URL = [null], automatic session = [true], cookies = [], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []]) 20:22:11,240 [main] DEBUG util.ServletConfiguration - <getRedirectorName([simulation URL = [null], automatic session = [true], cookies = [], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []]) 20:22:11,240 [main] DEBUG util.ServletConfiguration - >getRedirectorName = [ServletRedirectorSecure] 20:22:11,240 [main] DEBUG util.ServletConfiguration - >getRedirectorURL = [http://localhost:8080/ServletRedirectorSecure] 20:22:11,240 [main] DEBUG client.ConnectionHelperFactory - <getConnectionHelper([http://localhost:8080/ServletRedirectorSecure], [org.apache.cactus.util.ServletConfiguration@6d084b]) 20:22:11,240 [main] DEBUG client.ConnectionHelperFactory - >getConnectionHelper = [org.apache.cactus.client.HttpClientConnectionHelper@763f5d] 20:22:11,240 [main] DEBUG ent.HttpClientConnectionHelper - <connect([simulation URL = [null], automatic session = [true], cookies = [], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []]) 20:22:11,240 [main] DEBUG hentication.FormAuthentication - <configure([simulation URL = [null], automatic session = [true], cookies = [], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []]) 20:22:11,240 [main] DEBUG cactus.WebRequest - <addCookie([JSESSIONID], [417F0AF81C47F5242AF988C66DAAFE11]) 20:22:11,240 [main] DEBUG cactus.WebRequest - <addCookie([localhost], [JSESSIONID], [417F0AF81C47F5242AF988C66DAAFE11]) 20:22:11,240 [main] DEBUG cactus.Cookie - <setDomain([localhost]) 20:22:11,240 [main] DEBUG cactus.Cookie - >setDomain 20:22:11,240 [main] DEBUG cactus.Cookie - <setName([JSESSIONID]) 20:22:11,240 [main] DEBUG cactus.Cookie - >setName 20:22:11,240 [main] DEBUG cactus.Cookie - <setValue([417F0AF81C47F5242AF988C66DAAFE11]) 20:22:11,240 [main] DEBUG cactus.Cookie - >setValue 20:22:11,240 [main] DEBUG cactus.WebRequest - <addCookie([name = [JSESSIONID], value = [417F0AF81C47F5242AF988C66DAAFE11], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]) 20:22:11,240 [main] DEBUG cactus.WebRequest - >addCookie 20:22:11,240 [main] DEBUG cactus.WebRequest - >addCookie 20:22:11,240 [main] DEBUG cactus.WebRequest - >addCookie 20:22:11,240 [main] DEBUG hentication.FormAuthentication - >configure 20:22:11,240 [main] DEBUG cactus.WebRequest - <getParameterValuesGet([Cactus_Service]) 20:22:11,240 [main] DEBUG cactus.WebRequest - >getParameterValuesGet = [[Ljava.lang.String;@3a317a] 20:22:11,240 [main] DEBUG util.UrlUtil - <getPath([http://localhost:8080/ServletRedirectorSecure?Cactus_Service=GET_R ESULTS]) 20:22:11,240 [main] DEBUG util.UrlUtil - >getPath = [/ServletRedirectorSecure] 20:22:11,240 [main] DEBUG util.UrlUtil - <getQuery([http://localhost:8080/ServletRedirectorSecure?Cactus_Service=GET_ RESULTS]) 20:22:11,240 [main] DEBUG util.UrlUtil - >getQuery = [Cactus_Service=GET_RESULTS] 20:22:11,240 [main] DEBUG ent.HttpClientConnectionHelper - <getCookieString([simulation URL = [null], automatic session = [true], cookies = [[name = [JSESSIONID], value = [417F0AF81C47F5242AF988C66DAAFE11], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []], [http://localhost:8080/ServletRedirectorSecure?Cactus_Service=GET_RESULTS]) 20:22:11,240 [main] DEBUG cactus.Cookie - <getCookiePath([simulation URL = [null], automatic session = [true], cookies = [[name = [JSESSIONID], value = [417F0AF81C47F5242AF988C66DAAFE11], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []], [/ServletRedirectorSecure?Cactus_Service=GET_RESULTS]) 20:22:11,240 [main] DEBUG cactus.Cookie - Cookie validation pah = [/ServletRedirectorSecure] 20:22:11,240 [main] DEBUG cactus.Cookie - >getCookiePath = [/ServletRedirectorSecure] 20:22:11,240 [main] DEBUG cactus.Cookie - <getCookieDomain([simulation URL = [null], automatic session = [true], cookies = [[name = [JSESSIONID], value = [417F0AF81C47F5242AF988C66DAAFE11], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []], [localhost]) 20:22:11,240 [main] DEBUG cactus.Cookie - Cookie validation domain = [localhost] 20:22:11,240 [main] DEBUG cactus.Cookie - >getCookieDomain = [localhost] 20:22:11,240 [main] DEBUG cactus.Cookie - <getCookiePath([simulation URL = [null], automatic session = [true], cookies = [[name = [JSESSIONID], value = [417F0AF81C47F5242AF988C66DAAFE11], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []], [/ServletRedirectorSecure?Cactus_Service=GET_RESULTS]) 20:22:11,240 [main] DEBUG cactus.Cookie - Cookie validation pah = [/ServletRedirectorSecure] 20:22:11,240 [main] DEBUG cactus.Cookie - >getCookiePath = [/ServletRedirectorSecure] 20:22:11,240 [main] DEBUG ent.HttpClientConnectionHelper - >getCookieString = [$Version=0; JSESSIONID=417F0AF81C47F5242AF988C66DAAFE11] 20:22:11,260 [main] DEBUG ent.HttpClientConnectionHelper - >connect = [org.apache.cactus.util.HttpURLConnection:http://localhost:8080/ServletRedir ectorSecure?Cactus_Service=GET_RESULTS] 20:22:11,260 [main] DEBUG util.IoUtil - <getText([org.apache.commons.httpclient.AutoCloseInputStream@630ab9]) 20:22:11,260 [main] DEBUG util.IoUtil - >getText = [ <html lang="en" xml:lang="en"> <head> <title>Error 404</title> -----Original Message----- From: Vincent Massol [mailto:vmassol@;octo.com] Sent: Saturday, October 26, 2002 2:12 PM To: 'Cactus Users List' Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: RE: FormAuthentication Hi Jason/Pranab, Thank you both for the good analysis! There are indeed 2 bugs you have found: - one with the FormAuthentication using only the default redirector - one with the HttpClient fetching the test result using only the default redirector I have now fixed (hopefully) both bugs in CVS. You can check the CVS commit emails if you wish to see what I have modified. I would be happy to know if you agree with my changes... :-) However, there is still something missing which I was not able to code: it is a test for the FormAuthentication class. The problem is that apparently you can only have one method of authentication in a given webapp and ATM the sample webapp is using Basic authentication... Thus we cannot easily add one more test for testing Jason's FormaAuthentication code ... I was pondering about what route to take for that. Any idea? One solution would be to have several webapp of course and more specifically to have the following directory structure in CVS: jakarta-cactus |_ [...] |_ servlet-sample |_ servlet-unit servlet-sample: contains only the org.apache.cactus.sample.* packages. It is the sample application. servlet-unit: contains only the org.apache.cactus.unit.* packages. The goal of this application is to offer a full regression test suite for Cactus. It is not a sample application per see. The idea would then be to have a build file that produces 3 wars: one test.war (no authentication tests), one test-basic.war (basic authentication tests) and one test-form.war (form-based authentication tests). Note: Some persons have told me it was difficult to understand the differences between the unit/ and sample/ directories in the servlet-sample project. That would solve the problem. What do you think? Thanks -Vincent > -----Original Message----- > From: Robertson, Jason [mailto:Jason.Robertson@;acs-inc.com] > Sent: 26 October 2002 15:40 > To: 'Cactus Users List' > Subject: RE: FormAuthentication > > Time for Vincent to chime in! > > Vincent, Pranab's comments below show that there's a problem in the > reconfiguring of the Redirector in that you can configure it in two > places: > in WebRequest and in cactus.properties, but only the latter is persistent > between callRunTest and callGetResult. In callGetResult, a new WebRequest > is > created and gets initialized with the cactus.properties value. > > Should calling setRedirectorName in the WebRequest propagate that setting > to > the configuration? Or should that method be removed from WebRequest and > added to the WebConfiguration interface and then you'd say: > > aWebRequestObject.getConfiguration().setRedirectorName(...); > > Or should the same WebRequest object be shared between callRunTest and > callGetResult? I would think this would make the most sense, I don't know > if > I like accessing static properties through a transient object. > > If we take the reuse-the-WebRequest approach, the signature for > callGetResult would change to remove the AbstractAuthen. Thetication and add > the > WebRequest (the authentication object would already be configured in the > WebRequest) and you'd have to add something like a "setParameter" that > would > overwrite any existing parameter and allow you to reconfigure the service > name parameter. > > None of these changes are that difficult, but does any one look better or > worse in the "big picture"? > > Jason [snip] -- To unsubscribe, e-mail: <mailto:cactus-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:cactus-user-help@;jakarta.apache.org> -- To unsubscribe, e-mail: <mailto:cactus-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:cactus-user-help@;jakarta.apache.org>