代码之家  ›  专栏  ›  技术社区  ›  Rachel

Java设计/架构:如何从我们的应用程序访问和弹出其他应用程序接口?

  •  0
  • Rachel  · 技术社区  · 14 年前

    Design and Architecture 我想知道让读者思考我的剧本。

    我有个要求 Application should provide other application interface when the user logs in to my application.

    例如,假设我的应用程序是 www.gmail.com 其他应用程序是 www.stackoverflow.com gmail account 他应该看到他的主页 stackoverflow 还有一个特别的问题。

    一种方法是,当用户登录到 gmail 栈溢出 网站,并询问将作为参数传入的id,然后 Stackoverflow request object authenticate the user credentials 取决于 request parameter ,我会的 render 这个 question_id 而我 received from request

    我想知道会是什么 best approach issues 遇到 designing such an system.

    编辑

    在看到所有的答案之后,我想对我的问题补充一些新的内容。我想要的是在完成任务的同时感受到我必须面对的问题和挑战,同时我也在使用Java,不知道如何使用Java来完成我的目标,因为我们没有类似的东西 OLE 我们已经在微软技术栈中完成了这项任务。

    希望我在这里说得有道理。

    3 回复  |  直到 14 年前
        1
  •  0
  •   mfcabrera    14 年前

    我可以想出三种方法来解决这个问题。

    • 您还可以按照自己的建议为用户创建身份验证凭据(即cookie),然后执行重定向。请记住,两个应用程序都需要在同一子域中才能工作。

    • 如前所述,还可以通过应用程序公开要从其他应用程序使用的数据/服务。

    在我的公司中,我们称之为“图形服务”,它由一个中央服务器管理,该服务器还进行凭据验证,如果凭据正确,它将为用户显示一个用户界面(通常在弹出窗口或iframe中)。

        2
  •  0
  •   Teja Kantamneni    14 年前

    您不能在客户端或java脚本中明确地这样做,因为这会导致跨站点脚本问题。或者你可以使用iframes(它被屏蔽了)。

    关于认证,现在所有的站点都使用“OAuth”或类似的,授权应该不那么困难

        3
  •  0
  •   Yuval    14 年前

    如果这两个应用程序都是基于web的内部应用程序,那么您可以编写一个主登录组件,独立于任何一个应用程序,它将执行用户身份验证,在登录时加载任何有用的数据,并将用户浏览器发送到正确的URL,确保将任何相关信息传递给目标应用程序(作为转发请求的一部分或在某些分布式共享内存中的后台)。只是一个想法。