Orbeon,OpenSSO和会话到期

时间:2012-11-08 16:00:13

标签: session orbeon opensso

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

注意:Orbeon提交(backrequests)是由另一个Web应用程序处理的,其上下文只能从localhost访问,而不能在OpenSSO下访问。

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

正如Firebug所说:

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

2)OpenSSO使用302 Moved Temporarily

停止此请求

3)ajax是GET-reques / opensso / cdcservlet?...

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

5)忽略了回应,转到1)

无截止。

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

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

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

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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

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

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

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