Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Chrome于2020年2月针对SameSite相关问题进行了更新之后,我的IFrame仍然存在问题,即使在遵循了.NET的web配置建议之后_C#_Google Chrome_Iframe_Local Storage_Samesite - Fatal编程技术网

C# 在Chrome于2020年2月针对SameSite相关问题进行了更新之后,我的IFrame仍然存在问题,即使在遵循了.NET的web配置建议之后

C# 在Chrome于2020年2月针对SameSite相关问题进行了更新之后,我的IFrame仍然存在问题,即使在遵循了.NET的web配置建议之后,c#,google-chrome,iframe,local-storage,samesite,C#,Google Chrome,Iframe,Local Storage,Samesite,因此,客户的问题在IFrame中: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>HTML Test</title> <meta http-equiv="Content-Type" content="text/html

因此,客户的问题在IFrame中:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">    
<html>

<head>
<title>HTML Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>

<p>Below is an iframe.</p>
<iframe src="*LinkWithDirectAuthenticationHere*" width = "800" height = "800">
 <p>iframes are not supported by your browser.</p>
</iframe></body>
</html>

HTML测试
下面是一个iframe

您的浏览器不支持iFrame

一旦用户通过身份验证,用户将重定向回登录页面,因为包含已记录用户详细信息的localstorage由于网站处于IFrame(自动注销)中而返回空。这在Chrome 2020年2月更新之前是可以的

我使用的谷歌chrome版本是80.0.3987.149
出于某种原因,即使我的其他同事有相同的版本,他们也没有遇到这个问题。已经卸载了我的所有插件,清除了缓存并注销了chrome,这个问题仍然存在于我的浏览器中(我是目前唯一一个能够复制我的客户端问题的人)

在我的浏览器中设置此选项后,我不再有此问题:

但是,这不是正确的解决方案。。因此,我尝试在我的.NET应用程序上执行以下操作:

  • 将框架从4.5.2更新为4.7.2
  • 在标题中添加了Bruteforce(目前)
  • 添加了此选项,但不知道预先存在的选项应该是什么:
  • 在web配置中添加了以下内容:
  • 不确定为什么不允许使用此属性:
在我的本地主机上测试应用程序时,我有以下警告:

请注意,默认情况下禁用samesite cookies修复了该问题,但我必须采取用户不必更改其设置的操作,然后像以前一样继续

附加说明:

  • 我在Internet Explorer、FireFox和Opera上没有遇到此问题
  • 链接不在IFrame上时没有问题

目前,Chrome实施新政策只是为了让您的同事看到不同的结果

我假设您已经检查了Chrome
应用程序=>Storage=>Cookies
视图,并确认您的Cookies返回时带有
SameSite=None
安全设置?

如果是这样,您可能需要将iframe移到
https
(查看屏幕截图,它现在似乎是HTTP),因为
Secure
指示Chrome仅发送此cookie。为了测试这是否是你的情况,
尝试禁用
chrome://flags/#cookies-没有相同的站点必须是安全的

根据您的回复,我发现了更多的问题。。。我设置samesite=none;在我的本地上是安全的,但是我的本地当然没有HTTPS,所以应用程序失败的原因。。因此,如果应用程序使用HTTPS add secure运行,那么现在我只需要输入一个if语句,如果不只是samesite=none;然后我做了那个chrome标志,它成功了:)非常感谢@MilkTea027给我的印象是这两个属性都是必需的(我链接的同一个网站在某处有提及)。只需关注Chrome更新,因为它可能会中断,您将被迫执行https