springmvc和restfulapi中的rest会话范围对象

x4shl7ld  于 2021-07-23  发布在  Java
关注(0)|答案(0)|浏览(182)

关于使用restapi会话的问题-
我的堆栈:
Springmvc 3.2.5
Spring安全3.2.5
公开rest API
托管在tomcat6/jdk1.8上
前端的ui层托管在apache上,通过api调用来构建webapp。所有的应用程序都运行良好,spring控制器和安全性在restapi中正常工作
需求是ui层执行一个向导流,其中有多个屏幕-每个页面有多个RESTAPI调用,更新同一个对象-我需要在(用户)会话中维护这些屏幕。
问题在于“session”范围中定义的bean。每个调用似乎都会为每个api请求创建一个新会话,我在@controller函数中将其签入为-

request.getSession().getId().

撇开restful系统应该如何设计(完全无状态)的纯粹概念不谈,我如何才能让它工作呢?
我尝试获取第一个api调用的会话id,将其存储在本地浏览器cookie+中,并在每个ajax调用(使用http头中的-$.ajaxsetup)中从ui传回-

"Set-Cookie":"JSESSIONID=<sessionid>" (or) as "Set-Cookie":"SESSIONID=<sessionid>"  (or) as "Set-Cookie":"sessionId=<sessionid>"

等。
spring似乎忽略了这个设置。
理想情况下,spring每个浏览器只有一个会话,在这里我可以管理会话对象。
更新
经过一番调查之后-我们遇到了- Spring 会议
有或没有mapsessionrepository-使用任何其他第三方repo来处理会话。但是,这些都依赖于Spring4.3+,而我们使用的是Spring3.2.5,因此不能使用任何其他解决方案吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题