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>

Reply via email to