2

我正在使用 liferay 6.1 并创建了我的自定义 portlet 正在使用 liferay 登录 portlet 并且在使用以下步骤登录时我遇到了一些问题..

  • 使用 user1 登录
  • 现在打开具有相同 url 的不同选项卡,它将自动登录到 liferay 中的 user1 帐户
  • 现在从任何选项卡中注销,然后您将从两个选项卡中注销
  • 现在从两个选项卡首先在 tab1 中使用 user1 登录
  • 现在从 tab2 使用 user2 登录

现在liferay将与我在同一个浏览器中使用不同选项卡的两个不同用户登录。(当我刷新页面时,它将使用最后一个用户登录帐户自动登录)现在我想要的是当同一个用户尝试使用同一个浏览器登录时它会自动登录重定向到在选项卡中首先登录的用户帐户..

任何人都可以指导我怎么做吗?

我已尝试对 portlet-ext.properties 文件进行如下更改,但没有成功

live.users.enabled=true
#
# Set the following to true if users are allowed to have simultaneous logins
# from different sessions. This property is not used unless the property
# "live.users.enabled" is set to true.
#
auth.simultaneous.logins=false 
4

1 回答 1

2

发生这种情况是因为浏览器选项卡通过 cookie 共享相同的会话。因此,您需要为 Liferay 应用程序禁用 cookie,以便使用相同的浏览器进行不同的帐户登录。您可以将以下属性设置为false,默认情况下它们为 true:

#
# Set this to false to disable all persistent cookies. Features like
# automatically logging in will not work.
#
session.enable.persistent.cookies=true

#
# Set this to true to test whether users have cookie support before allowing
# them to sign in.
#
session.test.cookie.support=true

如果 cookie 被禁用,liferay 将通过附加 jsessionId 使用 url-rewriting 来维护会话。

我还没有尝试过,但我认为这应该可行。

于 2013-04-02T10:12:22.903 回答