繁体   English   中英

如何使用ajax请求重置ADF会话超时?

[英]How can I reset the ADF session timeout with an ajax request?

我有一个Oracle ADF应用程序,会话超时为10分钟。 在8分钟标记处,将显示一个弹出窗口,要求用户单击“确定”继续。 对于这种情况,我想通过javascript / ajax触发相同的功能。 我使用了fiddler并检查了发出的http请求。 它将Adf-Rich-Message标头设置为true,并使用Date.now()中的当前时间添加_afTS查询字符串。 无论我做什么,我都无法重置会话过期而不是单击弹出窗口上的确定。 我对ADF知之甚少,但我很精通javascript / jQuery。 我还将contentType设置为application / x-www-form-urlencoded。 我在网上看到一个字段呈现给会话到期时间的页面。 我找不到那个。 我的下一个尝试是逐步完成当用户在警告弹出窗口中单击“确定”并尝试模仿该行为时调用的ADF javascript。 有谁碰巧知道怎么做? 也许这是错误的做法? 我知道会话超时是在web.xml中设置的,可以在运行时设置而不是部署时间吗? 如果存在cookie或其他内容,请更改该值,否则默认为10分钟。 在这一点上,我被困在公开的建议中。

你想要做的是有点不正统,但我欢迎经验丰富的开发人员带入ADF知识库的任何想法。 因此,您可以通过向Authentication Servlet发出Ajax请求来使HTTP会话无效:/ adfAuthentication?logout = true

您可以使用af:poll组件进行空闲表单轮询,并在其后面使用一些服务器端逻辑来实现自定义会话超时逻辑。

你不应该打架,但要学会如何使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM