好的。 我想要做的是能,当我更新用户,无效的任何会议,他们目前都在以迫使凭证的刷新。 我不关心能够直接访问指定会话的用户数据。 理想情况下,我也可以通过类似的方式限制用户访问一个会话。
我试图做的是使用用户名作为关键和HttpSession中的价值创造一个HashMap(我的实际建立是一个涉及多一点,但反复看似莫名其妙的故障后,我煮下来到这个简单的测试)。 但是,每当我试图告诉检索HttpSession中无效,似乎目前的[管理员]会议上无效。 是的HttpSession息息相关的,当前的请求?
还是有一种完全不同的方式来处理呢?
如果碰巧没关系,我使用码头6.1.26。
有没有直接的方法。 我能想到的最简单的方法是保持一个标志数据库(或cahche)上,并检查每个请求它的有效性。
或者你可以实现一个HTTP会话监听器,并保持可访问和无效用户会话的HashMap中。
我还没有尝试过任何这些了,所以我不知道有任何性能问题。 但是,它应该是为大多数应用所接受。
好了,据我所知,有没有办法解决它。 使用如我所料的请求作用域的bean没有工作(虽然它确实给了我很好的认识到如何操作春天,拦截字段访问)。 最后我用一个肮脏的标志我SessionHandler(会话作用域的bean)有一个非常高的优先级方面的检查,如有必要,调用无效()在用户的下一个请求的会话。 我最终仍有我所有的SessionHandlers用SessionManager和@PreDestroy方法来注销他们为了避免一堆地图空条目的注册。