【发布时间】:2018-01-30 21:44:27
【问题描述】:
我正在使用spring-boot-starter-web 创建一个部署在独立tomcat8 上的war 应用程序。
我有 @EnableWebSecurity 在每个 servlet 请求上强制使用 basic-authentication,并保护 gui。
但主要目的是提供 Web 服务 XML,主要以编程方式访问。因此,客户端总是使用 basic-auth 发送他们的GET 请求。
问题:tomcat 将为每个请求创建一个新会话!当客户端以编程方式连接到 xml servlet 时,会话永远不会注销。并且也不会被重用,因为下一个客户端请求将再次传输基本身份验证。
所以这些会话驻留在tomcat 中直到超时(例如默认30 分钟)。同时消耗内存。
问题:我如何告诉 tomcat 或 spring-servlet 提供基本身份验证 http 标头 的连接不需要创建会话?只需对用户进行身份验证、发送响应并忘记会话信息?
【问题讨论】:
-
如果您的意思是使用
SessionCreationPolicy.STATELESS:我怎样才能将其仅应用于特定路径,并让/gui路径保持状态?
标签: java spring tomcat tomcat8