0

我们在单独部署(跨上下文)中使用 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-requesting /opensso/cdcservlet?...

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

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

不休。

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

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

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

有什么建议么?

4

1 回答 1

0

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

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

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

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

于 2012-11-08T18:26:27.130 回答