在我的应用程序中,使用Jhipster
,Spring Boot
,Spring Security
,Rest API
,Angular js
,Spring boot
。
我知道我们可以在yml
文件中设置会话超时值。
但我想了解的是如何在这些应用程序中计算时间间隔。
例如:假设会话timeout= 60
秒。
用户登录并保持浏览器闲置70秒。现在70秒后用户点击某个按钮。弹出窗口显示。所以我想知道两个休息端点呼叫的差异计算在哪里完成,因为在会话超时间隔之后,如果我遇到任何api我得到会话超时。
答案 0 :(得分:2)
会话超时由嵌入式servlet引擎(Jetty,Tomcat或Undertow)计算,它保留所有活动会话的集合和上次访问的时间。
在第一次请求时,会在服务器中创建一个会话对象,并将包含其id的会话cookie作为响应发回,服务器还会在会话对象中存储上次访问的时间。
当您处理第二个请求时,服务器从会话cookie中提取会话ID,然后查找与此ID匹配的会话对象,并将当前时间与上次访问时间进行比较。