我正在使用 Hibernate 3 开发 Struts 2 。在我的应用程序中,我有很多用户,其中一个是管理员。每个用户的权限将存储在他们的 HTTP 会话中。当管理员用户对当前登录的其他用户进行一些更改时,我怎样才能使其更新到他的会话中。我知道我可以从数据库中获取它,但我不想为每个操作都点击数据库。有没有更好的方法呢?
问问题
156 次
1 回答
1
您最好的选择可能是HttpSessionListener并在某处保留引用,例如,<Integer, HttpSession>
使用用户 ID 作为Integer
键的静态映射。
在您的会话侦听器中添加会话,在您的注销和会话失效(例如,超时)中确保您将其删除,尽管它可能并不重要。
这会带来许多同步问题,但是如果您熟悉这些事情,那么解决这些问题都不是非常困难的。
于 2013-10-15T18:36:13.437 回答