当我链接到另一个页面时,Liferay 6.1 PortletSession ID 在 Google Chrome 的 iframe 中发生了更改

Posted

技术标签:

【中文标题】当我链接到另一个页面时,Liferay 6.1 PortletSession ID 在 Google Chrome 的 iframe 中发生了更改【英文标题】:Liferay 6.1 PortletSession ID changed in iframe in Google Chrome when I link to another page 【发布时间】:2021-01-06 14:14:57 【问题描述】:

我正在创建 PortletSession.APPLICATION_SCOPE 属性。当我将 portlet 嵌入到 iframe 中时,当我使用 location.href 将位置更改为其他页面(在我的域内)时,PorletSession Id 已更改并且所有属性都丢失了。

如果我不使用 iframe(直接在浏览器中的小部件 url)工作正常。

这看起来像是来自 Google Chrome 的阻止,因为在 Opera 中运行良好。而且我想这在很久以前工作得很好。

非常感谢,

【问题讨论】:

【参考方案1】:

Liferay 6.1.x (CE) 的最后一个版本是在 2013 年,即使是企业支持的版本现在也已经停止服务。 2013 年是浏览器在不同站点之间共享信息方面更加放松的时期,您当时实施的方法可能会奏效。

无论如何都不鼓励使用会话存储 - 通常有更好、更具可扩展性的方法来解决有人打算通过会话存储解决的问题。

鉴于您的平台版本现已停止服务:是时候升级了。到目前为止,您不会解决任何安全问题,更不用说其他帮助,以防您遇到其他问题(例如这样)。

关于隐含的问题“我如何让这项工作再次发挥作用?” (注意:你不是在问任何问题,只是陈述你观察到的):

首先要回想一下您在过去试图解决的潜在业务问题。由于浏览器行为的改变,您不能再使用当前的 iframe 技术,所以回想一下您想要解决的 什么不是您当时想如何解决的 .

【讨论】:

以上是关于当我链接到另一个页面时,Liferay 6.1 PortletSession ID 在 Google Chrome 的 iframe 中发生了更改的主要内容,如果未能解决你的问题,请参考以下文章

无法将 portlet [portletname] 的角色与角色名称 [rolename] liferay 6.1 链接

Liferay 6 - 显示网页内容页面

liferay 6.1 中的友好 URL

Liferay 6.1中如何从用户组继承站点角色权限给他们的成员?

更改 Liferay 登录页面中的“OpenId Connect”链接的最佳方法是啥?

在 oracle apex 中将一个页面链接到另一个页面