【发布时间】:2012-03-16 22:23:05
【问题描述】:
假设用户 A 登录并设置了 sessionScope 变量(这只是一个示例):
sessionScope.put("ABC", "ABC");
现在用户 B 登录并设置了他的 sessionScope 变量:
sessionScope.put("XYZ", "XYZ");
有没有一种方法可以让我获得属于不同用户的所有这些 sessionnScope 变量/对象?
【问题讨论】:
标签: xpages
假设用户 A 登录并设置了 sessionScope 变量(这只是一个示例):
sessionScope.put("ABC", "ABC");
现在用户 B 登录并设置了他的 sessionScope 变量:
sessionScope.put("XYZ", "XYZ");
有没有一种方法可以让我获得属于不同用户的所有这些 sessionnScope 变量/对象?
【问题讨论】:
标签: xpages
理论上,您可以注册一个 sessionListener,它在 applicationScope 中存储一个指向创建的每个 sessionScope 的指针......但是,在我看来,这是一个非常糟糕的主意。您必须非常小心,避免将用户的会话数据暴露给彼此。
【讨论】:
【讨论】:
会话范围属于单个用户,因此您无法开箱即用地检索它们。您可以将日志记录添加到 xpage/business 日志中,以便跟踪正在发生的事情。另一种方法是以您现在想要查看范围的用户身份登录并使用调试栏进行调查
【讨论】:
SessionScope 变量属于浏览器/客户端的单个实例。如果您是匿名用户并以“用户一”身份登录,您将拥有与以前相同的 sessionScope。如果您注销并以“使用两个”身份重新登录,情况也是如此。
我已经构建了一个应用程序,它在每个页面的页面加载之前运行一个方法,以确保设置必要的 sessionScope 数据。该数据的一部分是为其定义数据的用户的名称。这样,如果用户名发生更改,我们会清除数据并为当前用户重新加载。
使用这种方法,您可以定义一个以用户名作为键的 MAP 或 JSON 对象,这将在人们登录和退出时保持差异,但我不确定这是一个非常明智的做法,因为更改身份只是现实的开发和测试。这在生产中是不正常的。
/新人
【讨论】: