0

我对 WebSphere Commerce 和 HttpSession 有疑问。如果我关闭浏览器页面然后重新打开它,我会继续上一个会话,直到现在没有问题。当我第一次登录时,我将我的用户数据发送到程序以跟踪我的操作,但如果我关闭并重新打开浏览器页面,跟踪程序“丢失”会话并且系统不会将我的数据发送到跟踪程序,因为我' m 已经登录。

我如何知道浏览器页面何时打开并存在会话?

我尝试使用 HttpSessionListener 实现方法 sessionCreated 和 sessionDestroyed 但 sessionCreated 方法仅在我登录时调用。

任何想法?我想使用监听器或过滤器。

谢谢大家!

感谢@Ranjith V 的回复。

我的意思是,我登录 WCS,然后当我登录浏览器页面时,有一个 JS 知道我是否刚刚登录,然后它将我的用户数据(user.123456.en)发送到外部系统。这个系统跟踪我的行为。当我关闭浏览器时,我失去了与外部系统的会话,但在 WCS 中我的会话继续。当我在 WCS 中打开一个随机页面时,作为主页或售后,我已经登录并且 JS 不明白必须将我的用户数据发送到外部系统。如果我打开页面并继续现有会话,我需要在会话中插入一个变量。问题就在这里,我怎么知道这是一个新的浏览器会话?

有一个 java 类可以检查我是否已登录并继续会话?如果有我扩展它并在这里插入我的变量,最后 JS 知道它是否必须发送数据。

我希望我清楚自己。

谢谢!

4

1 回答 1

0

我不太明白您要问什么以及跟踪程序是什么意思。但是您可以使用 cookie 来识别会话

我如何知道浏览器页面何时使用现有会话打开?

WCS 使用 cookie 处理会话。如果您查看请求 cookie,您就知道用户是否经过身份验证。有关会话处理的更多详细信息,请参阅下面的文章

https://www.ibm.com/support/knowledgecenter/en/SSZLC2_7.0.0/com.ibm.commerce.admin.doc/concepts/csesmsession_mgmt.htm

我认为您需要使用以下 cookie 之一

WC_SESSION_ESTABLISHED 或 WC_AUTHENTICATION_ID

于 2018-09-20T03:54:27.230 回答