【问题标题】:Orbeon, OpenSSO and session expirationOrbeon、OpenSSO 和会话到期
【发布时间】:2012-11-08 16:00:13
【问题描述】:

我们在单独部署(跨上下文)中使用 Orbeon 3.9,应用程序安全性使用 OpenSSO,服务器是 glassfish。

注意:Orbeon 提交(反向请求)由另一个 web 应用程序处理,contex 只能从 localhost 访问,而不能在 OpenSSO 下访问。

会话超时到期后(在浏览器中打开表单的时间足够超时)Orbeon 在第一次“单击”后立即卡在“正在加载...”循环中。

正如萤火虫所说:

1) Orbeon ajax POST 请求 /application-context/orbeon/xforms-server

2) OpenSSO 通过 302 Moved Temporarily 停止此请求

3) ajax 是 GET 请求 /opensso/cdcservlet?...

4) 返回200,可能是登录页面内容

5) 响应被忽略,转到 1)

无穷无尽。

我试过这个:http://wiki.orbeon.com/forms/how-to/other/redirect-users-error

但没有帮助,因为没有显示对话框。

我们需要将浏览器重定向到那个登录页面。

有什么建议吗?

【问题讨论】:

    标签: session orbeon opensso


    【解决方案1】:

    代码的编写方式,如果您希望 Orbeon Forms 客户端代码将来自服务器的答案识别为错误,则服务器还需要在 HTTP 响应的正文中包含如下所示的文档:

    <error>
        <title>...</title>
        <body>...</body>
    </error>
    

    如果这样的文档不存在,那么客户端代码将在延迟后重试请求,同时显示“正在加载...”。因此,在您的情况下,如果请求是从 Ajax 请求重定向的,您需要找到一种方法让登录页面回复该文档。

    现在,我还认为 Orbeon Forms 应该在这方面进行改进,并且应该将 Ajax 请求的 302 响应视为错误,默认情况下或允许您配置此行为。为此,我打开了issue #560

    【讨论】:

      猜你喜欢
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      相关资源
      最近更新 更多