获取XPage中的所有sessionScope变量

时间:2012-03-15 14:59:18

标签: xpages

让我们说用户A登录并设置了sessionScope变量(这只是一个例子):

sessionScope.put("ABC", "ABC");

现在用户B登录并设置了他的sessionScope变量:

sessionScope.put("XYZ", "XYZ");

有没有办法可以获得属于不同用户的所有这些sessionnScope变量/对象?

4 个答案:

答案 0 :(得分:3)

理论上,你可以注册一个sessionListener,它在applicationScope中存储一个指向创建的每个sessionScope的指针......但是,在我看来,这是一个非常糟糕的主意。您必须非常小心,以避免彼此暴露用户的会话数据。

答案 1 :(得分:2)

答案 2 :(得分:1)

会话范围属于单个用户,因此您无法立即检索它们。您可以将日志记录添加到xpage / business日志中,以便跟踪正在进行的操作。另一种方法是以用户身份登录您现在要使用的范围,并使用调试栏进行调查

答案 3 :(得分:0)

SessionScope变量属于浏览器/客户端的单个实例。如果您是匿名并以“用户1”身份登录,则您拥有与之前相同的sessionScope。如果您注销并以“使用两个”身份重新登录,情况也是如此。

我已经构建了一个应用程序,它在每页的页面加载中运行一个方法,以确保设置必要的sessionScope数据。该数据的一部分是为其定义数据的用户的名称。这样,如果用户名更改,我们清除数据并为当前用户重新加载。

使用这种方法,您可以使用用户名作为密钥定义MAP或JSON对象,以便在人们登录和退出时保持差异,但我不确定这是一件非常明智的事情,因为更改身份只是在开发和测试中是现实的。这在生产中并不正常。

/ Newbs