加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

会话超时后,JSF 2 ajax按钮不会进行服务器调用

发布时间:2020-12-16 02:47:57 所属栏目:百科 来源:网络整理
导读:我的应用程序使用 RSA authentication manager进行身份验证 用户登录后,将从请求标头中检索其登录的用户标识,从LDAP查找确定角色.然后,JSF2应用程序使用此角色来显示页面上的某些部分以及其他授权相关区域. (注意:代替RSA,这也可以使用Tivoli). 应用程序超
我的应用程序使用 RSA authentication manager进行身份验证

用户登录后,将从请求标头中检索其登录的用户标识,从LDAP查找确定角色.然后,JSF2应用程序使用此角色来显示页面上的某些部分以及其他授权相关区域.

(注意:代替RSA,这也可以使用Tivoli).

应用程序超时由web.xml会话超时值控制,该值目前设置为30分钟.并且RSA超时设置为2分钟(用于测试).当RSA会话在应用程序会话之前到期,并且用户执行任何服务器操作(如按钮单击)时,RSA会自动将用户转发回登录页面.
它工作正常.

之后我使用以下f:ajax标签为应用程序中的某些按钮添加了ajax功能

< h:commandLink id =“todayOrdersLink”value =“someValue”
??????????行动= “#{someAction}”
????????????????onclick =“clearAllElementsInHiddenDivs(‘confirmationSearch’);>< f:ajax execute =”@ form“onevent =”showWorkingIndicator“/>
< / h:commandLink>

现在当RSA会话到期并且我点击这样一个按钮时,服务器调用不是通过按钮进行的??,而是显示javascript弹出说错误的XML:文档为空.

但是,如果我单击F5按钮或浏览器刷新按钮强制服务器调用,则转发到登录页面的早期行为仍然有效.在RSA会话到期后,我必须以某种方式从ajaxified按钮进行服务器调用.

任何帮助都将得到帮助.

解决方法

这是因为视图不再存在,并且服务器无法在服务器上重新创建视图以执行ajax,您可以尝试这样的事情:

var onError = function onError() {
   window.location = 'http://domain.com/loginPage.jsf';
 };
jsf.ajax.addOnError(onError);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读