通过JavaWebApp登录
我已经问过这个问题了,但是因为缺少答案,我会再试一次 我想做什么 编写一个java webapp,在任何webapp中自动记录我的日志。例如,我选择了我的zimbra 邮件帐号 我的Java webapp应该如何工作 应用程序应向特定应用程序发送登录请求,该请求通常与 登录表单中的操作。执行应用程序后,应设置cookies,以便我登录 自动地 我现在正在尝试什么 我正在使用下面的代码,通过JavaWebApp登录,java,http,web-applications,Java,Http,Web Applications,我已经问过这个问题了,但是因为缺少答案,我会再试一次 我想做什么 编写一个java webapp,在任何webapp中自动记录我的日志。例如,我选择了我的zimbra 邮件帐号 我的Java webapp应该如何工作 应用程序应向特定应用程序发送登录请求,该请求通常与 登录表单中的操作。执行应用程序后,应设置cookies,以便我登录 自动地 我现在正在尝试什么 我正在使用下面的代码,doGet()方法是扩展的HttpServlet的一部分 protected void doGet(HttpSe
doGet()
方法是扩展的HttpServlet
的一部分
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpClient httpclient = new HttpClient();
PostMethod postMethod1 = new PostMethod("http://mail.mydomain.at/zimbra/");
postMethod1.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
postMethod1.addParameter("username", "myname@mydomain.at");
postMethod1.addParameter("password", "mypassword");
postMethod1.addParameter("loginOp", "login");
httpclient.executeMethod(postMethod1);
out.println(postMethod1.getResponseBodyAsString());
}
有什么问题吗
执行代码后,我只收到一条消息,说我的浏览器(实际上是我的HttpClient)似乎禁止cookie
因此,我认为,cookies将在我初始化的HttpClient
中设置。
但我想做的是在我的浏览器中设置cookies。我怎样才能做到这一点
解决方案:
该任务失败,因为通过使用webapplication(通过自实例化的HTTPClient)登录,该客户端接收cookie,但不接收浏览器。未找到解决方法。如果您的浏览器正在访问www.abc.com,我认为您无法设置www.xyz.com域的cookie。否则,这将是一个严重的安全违规行为。任何人都可以在他们的浏览器中设置假cookie并访问您的数据
在您的情况下,您需要从浏览器免费登录zimbra,以便在客户端上设置cookie。如果您的浏览器正在访问www.abc.com,我认为您无法设置www.xyz.com域的cookie。否则,这将是一个严重的安全违规行为。任何人都可以在他们的浏览器中设置假cookie并访问您的数据
在您的情况下,您需要从浏览器默认登录到zimbra,以便在客户端上获得cookie集。因此,在执行此Java代码后,您希望您的浏览器登录吗?对吗?对,对。为了解释这个应用程序的用途:我正在尝试构建一个基本的单点登录应用程序。在这种情况下,您将不得不直接操作浏览器cookies,这可能不像您希望的那么简单。作为浏览器附加组件(或GreaseMonkey/用户脚本)编写可能更容易。如果您想要单点登录,最好自己实现,用户登录到“您的”系统,然后检索用户名和密码、cookie以及任何要传递到他们要连接的系统的内容。无论如何都不是小事。谢谢你的反馈。浏览器插件不是独立于浏览器的,我更喜欢它。如果不是自己处理用户帐户和cookie的实现,还有什么?必须具备实现自动/集中登录的技术可能性!?那么,在执行了这个Java代码之后,您希望您的浏览器登录吗?对吗?对,对。为了解释这个应用程序的用途:我正在尝试构建一个基本的单点登录应用程序。在这种情况下,您将不得不直接操作浏览器cookies,这可能不像您希望的那么简单。作为浏览器附加组件(或GreaseMonkey/用户脚本)编写可能更容易。如果您想要单点登录,最好自己实现,用户登录到“您的”系统,然后检索用户名和密码、cookie以及任何要传递到他们要连接的系统的内容。无论如何都不是小事。谢谢你的反馈。浏览器插件不是独立于浏览器的,我更喜欢它。如果不是自己处理用户帐户和cookie的实现,还有什么?必须具备实现自动/集中登录的技术可能性!?你说得对,为外域设置cookie是不可能的!“显式”是指手动?是的,应该是您从浏览器中登录zimra站点,以便浏览器创建cookie,在您返回站点时自动登录。但是,coockie将不会以任何方式提供给其他域。如果想要集成,应该在后端进行。我想要在前端进行集成的原因是,我想使用目标Web应用程序的GUI…不知道这是否有意义;)你说得对,为外域设置cookie是不可能的!“显式”是指手动?是的,应该是您从浏览器中登录zimra站点,以便浏览器创建cookie,在您返回站点时自动登录。但是,coockie将不会以任何方式提供给其他域。如果想要集成,应该在后端进行。我想要在前端进行集成的原因是,我想使用目标Web应用程序的GUI…不知道这是否有意义;)