Iframe 外部 API 回调将 ASP.NET MVC 会话对象重置为 null

问题描述 投票:0回答:1

解释起来有点棘手,但我会尽力解释问题。首先,它只发生在 Firefox、Chrome 和 Edge 上,按预期工作。

我有一个网络结账表单,其中支付网关字段显示在 iframe 内。 Iframe 确实带有

<form></form>
标签,该标签具有在单击 “提交订单” 时向支付提供商提交信用卡详细信息的后期操作。

单击提交按钮后,支付网关提供商会提交 Iframe,并通过“回调”函数返回结果,该函数是我附加到该 Iframe 的操作控制器。

问题是当我在 Firefox 上提交主“签出”表单时,它将会话中的每个缓存属性重置为 null。在 Chrome/Edge 上一切正常,但 Firefox 具有这种一致的行为。我非常确定 Iframe 回发导致了此问题,但无法找到相同的解决方案。

有什么想法吗?

asp.net-mvc payment-processing worldpay
1个回答
0
投票

在 web.config 中添加以下属性解决问题

<system.web>
    <sessionState cookieSameSite="None"/>

这样第三方 Iframe 会话就开始工作了。

在进行此更改之前,最好阅读此内容 https://learn.microsoft.com/en-us/aspnet/samesite/system-web-samesite

© www.soinside.com 2019 - 2024. All rights reserved.