Howdy all,

I'm trying to make a servlet act as a filter for requests going to a 2nd
web site, like so.

user  --->  servlet ---> second site.

The second site is using basic authentication.  Now what I want to do is
have the servlet pass a userid:password to server2 based on session
information.

I'm doing the following :

    URL url = new URL( hostname + uri );
    URLConnection urlc = url.openConnection();
    String password = "username:password";
    String encoded = HTTPClient.Codecs.base64Encode(password);
    String basic = "Basic " + encoded ;
    urlc.setRequestProperty( "Authorization",
                             basic  );
    int loop=0;
    String header_resp;
    while( ( header_resp = urlc.getHeaderField(loop)) != null )
    {
        System.out.println( loop + " : " + header_resp );
        loop++;
    }
    InputStream is = url.openStream();
    int i;
    while( (i = is.read()) != -1 ) { out.write(i); }
    is.close();
    out.close();

Now comes the bizarre part.  I keep seeing the 401.2 (authorization
denied) page.

However, when I dump the headers of the response, I get the following:

  HTTP/1.0 200 OK
  Microsoft-IIS - 4.0
  <todays date>
  text/html
  bytes
  <doc creation date>
  "some cryptic strings"
  3504

Why am I getting the 200 OK, and the 401.2 pages ?  Aren't these are
mutually exclusive, or am I on crack ?

Alfonso.

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to