Struts 2将会话值从一个用户共享到另一个用户

时间:2013-10-15 18:05:46

标签: java-ee struts2

我正在使用Hibernate 3开发Struts 2。在我的应用程序中,我有很多用户,其中一个是管理员。每个用户的权限将存储在其HTTP会话中。当admin用户对当前登录的其他用户进行一些更改时,如何使其更新到其会话中。我知道我可以从数据库中获取,但我不想为每个操作都命中数据库。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

您最好的选择可能是HttpSessionListener,并在某处保留引用,例如使用用户ID作为<Integer, HttpSession>密钥的Integer静态地图。

在你的会话监听器中添加会话,在你的注销会话失效(例如,超时)中确保删除它,尽管它可能无关紧要。

这会带来许多同步问题,但如果您熟悉这些问题,那么这些问题都难以解决。