gpt4 book ai didi

java - 如何在不刷新用户 session 的情况下向客户端提供请求?

转载 作者:行者123 更新时间:2023-11-28 23:31:25 24 4
gpt4 key购买 nike

我有一个应用程序,我们希望通过以特定频率访问端点来实现一些“实时”轮询。但是,此更新不需要刷新 session ,以便 session 可以在不是此轮询的最后一个操作中超时。

有没有办法排除某些路由更新用户的 session 到期时间,但仍然需要用户的 session 进行身份验证?

最佳答案

如果“reflreshing”请求带有jsessionid token , session 将自动刷新。因此,您必须只对端点执行未经身份验证的(即没有 jsessionid)请求。

那么,您如何将此请求与没有其 session ID 的现有用户相关联?您可以向请求添加 header ,其中包含足够的信息来识别服务器端的用户(例如,JWT token )。 HttpFilter 可以保护端点并根据此 token 执行身份验证。

现在,还有一个问题。为了确定这个特定用户是否有可用的新数据,我假设端点必须查询用户的状态。如果该状态完全存储在用户的 HttpSession 中,您就完蛋了 - 它不能以编程方式访问,只能通过刷新超时的 jsessionid

这里的解决方案是将用户数据(或者至少是与实时相关的数据)外部化到另一个存储系统(内存中的映射、Redis 缓存、Oracle 或 MongoDB 数据库...... ).

这确实需要相当多的工作......

关于java - 如何在不刷新用户 session 的情况下向客户端提供请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29856149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com