点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的专家等。 等,
我对滚动部署和会话管理有一个哲学问题。 让我们说发生以下情况:
-
用户登录商店并获得一个有效期为两周的会话,他在购物车中添加了商品
-
我们添加了CSRF保护,从现在开始,它要求所有发送POST的HTTP请求都将需要一个令牌。 这些更改是使用滚动部署进行部署的
这里的问题是,用户会话和购物车中的物品发生了什么?如果会话以某种方式持续存在,那么他将没有CSRF令牌和所有的POST HTTP请求 他的发送将以403结尾,直到获得新的会话为止。 所以问题又来了,滚动部署发生时,会话是否保持不变?
任何帮助将不胜感激!
亲切的问候,
L
这太有趣了,我第一次尝试回答这个问题,使我在此表格上出现CSRF令牌错误。 首先,会话超时2周似乎很大。 但是您提出的方案对于一小时以内的合理会话超时也是有效的,所以这是我的想法。 如果CSRF令牌存储在会话中,则会话复制应该是此处的解决方案。 如果不是,我建议您打开支持通知单,但是,如果6.3及更高版本的OOTB会话复制没有提供CSRF令牌,则您可以自定义解决方案以将CSRF令牌存储在会话中。 您是否尝试过此方法,并且确定在这种情况下会话复制不起作用?
如果将其持久保存在会话存储中(会话复制OOTB将会话存储在hybris数据库中),并且新构建的版本不会以破坏性的方式更改会话属性,则它们应保持不变。
我不相信Hybris默认篮子持久性的工作方式。 您不必保持长时间运行的会话(因为这将杀死您的应用服务器,将所有这些会话都保留在内存中)。 而是有一个名为 -cart
的cookie,其中包含购物车的uuid。 当您返回带有新会话的站点时,这将用于从数据库还原购物车。 因此,根据您的情况,在重新启动后查看页面时,您将获得一个新的会话和CSRF令牌,但您的购物车将被还原到该新会话中。 如果它失败了,那么是在页面中包含CSRF令牌并在您按下提交之前重新启动您所在的服务器。 然后,您将被跳到新服务器,进行新会话,CSRF验证将失败。 我在这里假设您正在使用粘性会话,但是如果您进行了某种会话共享,那么如他的评论中所述,它可能会正常工作。
一周热门 更多>