You are viewing a plain text version of this content. The canonical link for it is here.
Posted to httpclient-users@hc.apache.org by Shanmugam Karthikeyan NCS <sk...@ncs.com.sg> on 2008/04/08 07:23:05 UTC

URGENT --- Passing Session Info to a Redirected Page

Hi All,
 
    I am new to HttpClient. I need to develop a proxy servlet which does an internal Http post to a IIS server which in turn generates a cookie which i need to use in order to perform Single Sign On to a Vendor application.
Currently this Single Sign On is working perfectly for a form based http posting of user id and password. The requirement is to use a servlet based http post instead of form based http post.
 
 
      Therefore, I decided to use HttpClient API to achieve this. 
 
       The following is the pseduo code for your understanding
 
    String url = "http://192.168.33.290/siteminderagent/forms/login.fcc <https://webmail.ncs.com.sg/exchweb/bin/redir.asp?URL=http://192.168.33.290/siteminderagent/forms/login.fcc> ";

    HttpClient client = new HttpClient();
 
PostMethod postMethod = new PostMethod(url);
 
  postMethod.addParameter("USER","skarthi");
  postMethod.addParameter("PASSWORD","pass");
  postMethod.addParameter("target","http://spectrum.skarthi.com.sg/ <https://webmail.ncs.com.sg/exchweb/bin/redir.asp?URL=http://spectrum.skarthi.com.sg/> ");
 
  int statusCode = client.executeMethod(postMethod);
 
   The STATUS CODE RETURNED HERE IS 302. BY RIGHT IF I USE A BROWSER TO PERFORM THIS POST , THE BROWSER WILL AUTOMATICALLY REDIRECT TO http://spectrum.skarthi.com.sg/ <https://webmail.ncs.com.sg/exchweb/bin/redir.asp?URL=http://spectrum.skarthi.com.sg/> . 
 
Since the http post is through HttpClient I think I am getting 302 status code.
 
   Therefore , I am performing the following 
 
 Header locationHeader = postMethod.getResponseHeader("location");
    String redirectLocation =null;
    if (locationHeader != null) {
            redirectLocation = locationHeader.getValue();
        }
   response.sendRedirect(redirectLocation );
 
   The problem which I am facing now is that the Single Sing On is not working. For the Single Sing On to work I need to pass the coookie value availble in my postMethod to the URL redirected.
My Question here is that .. How do I pass the session info which I getting after the "executeMethod" to the redirected URL
 
 
regards,
 
S.Karthikeyan
 

Re: URGENT --- Passing Session Info to a Redirected Page

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Tue, 2008-04-08 at 13:23 +0800, Shanmugam Karthikeyan NCS wrote:
> Hi All,
>  
>     I am new to HttpClient. I need to develop a proxy servlet which does an internal Http post to a IIS server which in turn generates a cookie which i need to use in order to perform Single Sign On to a Vendor application.
> Currently this Single Sign On is working perfectly for a form based http posting of user id and password. The requirement is to use a servlet based http post instead of form based http post.
>  
> 
>       Therefore, I decided to use HttpClient API to achieve this. 
>  
>        The following is the pseduo code for your understanding
>  
>     String url = "http://192.168.33.290/siteminderagent/forms/login.fcc <https://webmail.ncs.com.sg/exchweb/bin/redir.asp?URL=http://192.168.33.290/siteminderagent/forms/login.fcc> ";
> 
>     HttpClient client = new HttpClient();
>  
> PostMethod postMethod = new PostMethod(url);
>  
>   postMethod.addParameter("USER","skarthi");
>   postMethod.addParameter("PASSWORD","pass");
>   postMethod.addParameter("target","http://spectrum.skarthi.com.sg/ <https://webmail.ncs.com.sg/exchweb/bin/redir.asp?URL=http://spectrum.skarthi.com.sg/> ");
>  
>   int statusCode = client.executeMethod(postMethod);
>  
>    The STATUS CODE RETURNED HERE IS 302. BY RIGHT IF I USE A BROWSER TO PERFORM THIS POST , THE BROWSER WILL AUTOMATICALLY REDIRECT TO http://spectrum.skarthi.com.sg/ <https://webmail.ncs.com.sg/exchweb/bin/redir.asp?URL=http://spectrum.skarthi.com.sg/> . 
>  
> Since the http post is through HttpClient I think I am getting 302 status code.
>  
>    Therefore , I am performing the following 
>  
>  Header locationHeader = postMethod.getResponseHeader("location");
>     String redirectLocation =null;
>     if (locationHeader != null) {
>             redirectLocation = locationHeader.getValue();
>         }
>    response.sendRedirect(redirectLocation );

>  
>    The problem which I am facing now is that the Single Sing On is not working. For the Single Sing On to work I need to pass the coookie value availble in my postMethod to the URL redirected.
> My Question here is that .. How do I pass the session info which I getting after the "executeMethod" to the redirected URL

Obviously, you need to include the session cookie

Oleg

>  
> 
> regards,
>  
> S.Karthikeyan
>  


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org