2011-03-01 99 views
1

我有一个是这样一个用例:如何重定向HTTP有效载荷?

 
1- A user logs-in to a FIRST server (via a web form of some sort). 
2- This FIRST server establishes the user connection. 
3- The FIRST server sends a URL redirection to the user. 
4- The user's browser will point to SECOND server. 

这是它目前尚不清楚什么是在我的头实际上是可行的。

浏览器重定向可以发送一个HTTP POST有效载荷/ GET到重定向的网址?比方说:

 
5- SECOND server recieves POST in servlet to process the payload 
public void doPost(HttpServletRequest req, HttpServletResponse resp) 
    throws ServletException, IOException { 
    ... 
} 

什么是真正回事,是我有2台服务器。 FIRST建立连接并发回一个令牌(包括安全评估,用户信息和内容)。此标记需要以某种方式转发给SECOND,它将解析此标记(XML流)以“知道”用户。

我我完全地疯了吗?

Thx。

回答

2

这取决于哪种重定向你正在做的。如果您只使用“位置”标题,则只能传递GET负载。

现在,为了发送更多数据,您需要编写一个指向第二个服务器的<Form>(可能隐藏)的临时页面(可能为空),并且会自动自动提交自己(使用Javascript例如)。该表单将能够将任何数据发布到第二台服务器。

请在将令牌从一台服务器发送到另一台服务器时考虑安全问题,并确保人们无法猜测或复制这些令牌,或者两台服务器通过另一种方式进行通信以确保所有客户端都是合法的。

+0

好的,谢谢你的洞察力。我被要求产生能够得到令牌的“东西”,并且我可以解析它。我很确定它会通过URL重定向或POST,但是有了重定向,我仍然需要令牌负载,因此是POST。 – 2011-03-02 02:56:52