koca安全认证session过期时间如何配置
koca安全认证提供对于spring session的过期时间控制,控制配置如下:
koca:
security:
session-storage:
session-expire: 1800 ##单位s
如果使用的是2.7以及之前版本,可以使用配置:
auth:
security:
session-storage:
session-expire: 1800 ##单位s
Tomcat的session对其有影响吗
tomcat的session与spring session是独立的不同的概念
- 在tomcat中,session timeout是指服务端session的过期时间,是由tomcat维护,当客户端与服务端一定时间内没有交互时,session会被服务器自动销毁。防止服务器上面保存了太多session二导致服务器负载过高。
- spring session是由spring维护的,以key-value形式保存。session timeout是指身份验证信息的失效时间。如果客户端一段时间没有请求,会自动清除对应的登录信息。
koca返回给前端的sessionId为spring session 的key,本质上tomcat的session过期并不影响前端传递sessionId给后端安全认证,只要spring session中保存的用户信息没有过期,就能正常访问。
验证:
- 启动koca前端与后端服务,配置tomcat的session过期时间
1m
,安全认证配置使用默认30分钟。
在登陆后五到六分钟访问,会发现请求依然正常,是登陆状态。
-
将安全认证session配置改为5s,tomcat session使用默认配置。
在登录后十几秒后访问,报会话已过期。
结论:
tomcat的session过期并不会影响spring session保存的登录信息。