嵌入IIS C#MVC的防伪造错误



我有一个WebApplication(C#.Net MVC+IIS(,在那里一切照常工作。然而,我的一位客户要求通过iFrame将我的WebApplication嵌入他的网站。

问题是:每次我尝试登录(提交表格(时,我都会收到这样的消息:"所需的防伪cookie"__RequestVerificationToken";不存在。"。我的视图确实有"__RequestVerificationToken"。

老实说,在iFrame上运行我的web应用程序时出现这种错误是有道理的,但我确实想让这种情况发生,我已经尝试了很多事情,但都没有成功。

我的视图:

@using (Html.BeginForm("Login", "Account", null, FormMethod.Post, new { @data_animation = "true" }))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(i => i.ReturnUrl)

我的控制器

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginViewModel viewModel)

Web.config

<authentication mode="Forms">
<forms name="TesteAbc" loginUrl="~/Account/Login" protection="All" path="/" timeout="180" />
</authentication>

解决方案是在web.config 的httpCookies中设置属性SameSite

<httpCookies sameSite="[Strict|Lax|None|Unspecified]" requireSSL="[true|false]" />

在我的情况下

sameSite=";无";

requireSL=";真";

最新更新