0

我对 Bonita 有一个问题,我试图解决这个问题但没有成功。我正在使用 CAS 对 Bonita、Alfresco 和 Liferay 进行身份验证;我第一次使用 CAS 进行身份验证时一切正常,但是当我从 Liferay 注销(然后应该从 CAS 自动注销)时,当前的 Bonita 会话不会终止。下次我使用 CAS 登录时,Liferay 和 Alfresco 会话是正确的(它们属于新用户),但 Bonita 会话没有改变(旧用户仍处于连接状态)。有没有人遇到过这个问题,如果是的话,有什么可能的更正方法?

任何有关此事的见解将不胜感激,谢谢!

4

1 回答 1

0

经过几次艰难的尝试以了解问题所在,我设法做到了这一点。显然,Bonita 创建的会话 cookie 存在问题:当 CAS 销毁其会话时,路径为“/bonita”的 cookie JSESSIONID 没有被销毁,并且它的存在以某种方式阻止了重新创建它。我已将 Bonita cookie 名称更改为与 JSESSIONID 不同,因为浏览器中还有其他具有该名称的 cookie,并且我在 Bonita 的文件 context.xml 中将 cookie 的路径从“/bonita”更改为“/”。然后我添加了 javascript 代码以在每次重新加载 Liferay 的主题时(在页面刷新时)消除这个 cookie,从而确保旧的 cookie 被销毁。之后的每一次,当访问 Bonita url 时,更新的 cookie 会从新的 CAS 会话中重新创建,并且一切似乎都工作正常。更好的方法是销毁 CAS 注销 jsp 页面中的 cookie,但我没有设法这样做。

于 2014-04-04T15:58:14.997 回答