如何从 JSESSIONID 加载 Java HttpSession?
我想通过 JSESSIONID 获取 Java HttpSession
。是否可以?如果是,怎么办?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想通过 JSESSIONID 获取 Java HttpSession
。是否可以?如果是,怎么办?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
您基本上需要手动将它们全部收集在
Map
使用HttpSessionListener
自己。然后,在任何您想要的地方,只需执行
HttpSessionCollector.find(sessionId)
即可获取相关的HttpSession
。也就是说,这是一种巨大气味。当然有比这更好的方法来解决实际功能需求;)正如我在您的 后续问题:
认真对待吧。我们不是在取笑您,我们只是想帮助您朝正确的方向前进,以避免您的项目/网络应用程序因安全漏洞和不良做法而崩溃和/或您被解雇。
You'll basically need to manually collect them all in a
Map
using aHttpSessionListener
yourself.Then, anywhere you want just do
HttpSessionCollector.find(sessionId)
to get theHttpSession
in question.That said, this is a huge smell. There are certainly better ways to solve the actual functional requirement than this ;) As I commented in your follow-up question:
Take it serious. We're not teasing you, we're just trying to help you in the right direction to avoid that your project/webapp will break due to security holes and bad practices and/or that you will get fired.
您可以按照 BalusC 的回答进行操作,但这种设施的存在是不同用户之间表面上的安全漏洞。您不应该在您的应用程序中构建这样的东西。
You can do it as per BalusC's answer, but the existence of such a facility is a prima facie security breach between different users. You shouldn't be building things like this into your application.
不可以,API 不允许这样做。
我还想说更多,但这就是全部了。
No, the API does not permit this.
I'd say more, but that's about all there is to it.