【发布时间】:2011-12-06 17:58:34
【问题描述】:
我有一个带有登录表单的应用程序。在该应用程序中,有一个 servlet 可以执行登录,接受用户名和密码(post,没有获取参数)并执行登录并设置 Jsession cookie。
当我使用表单发布调用此 servlet 时,它可以工作。
但我有另一个应用程序,我想重定向并自动登录到第一个应用程序。这将用于演示,因此将使用静态用户名和密码。但我不希望用户能够看到用户名和密码。因此我想用 Java 写一篇文章。
这部分工作,在帖子完成后(登录),我重定向到应用程序 1 中的页面。但是我不再登录了。 我想这与域有关。应用程序 1 和 2 不在同一个域中。
如何解决我的问题?
这是我用来执行发布请求的代码
getLog().debug("Open the connection to remote URL(" + remoteURL + ")");
URL url = new URL(remoteURL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setAllowUserInteraction(false);
connection.setDoOutput(true);
OutputStreamWriter wr;
wr = new OutputStreamWriter(connection.getOutputStream());
wr.write(requestParameters);
wr.flush();
wr.close();
response.sendRedirect(redirectURL);
【问题讨论】:
-
登录由应用程序 2 执行,而不是由用户执行。
-
是,也不是 :) 应用程序 1 的登录是由应用程序 1 完成的。但它是从应用程序 2 调用的,而不是由用户调用的。
-
是的,我就是这个意思。这就是用户没有登录的原因。
-
我该如何解决我的问题?
标签: java servlets post redirect