在iFrame内维护会话状态

3

我不确定自己是不是疯了,但我在iFrame内部有会话状态的问题。这是一个简单的设置,将一个域嵌套在另一个域内。我不需要在域之间共享任何内容,我只想将一个网站嵌入到另一个网站中,并希望该嵌入的网站能够使用cookie/会话状态进行登录/编辑/更新等操作。

为了消除服务器农场/共享SQL会话状态等所有复杂性,我创建了一个简单的HTML页面,由IIS提供服务,其中只有一个iFrame标签调用我的网站。一切都加载得很好,但当我尝试登录时,我陷入了无休止的登录屏幕循环中,因为每次请求都重新创建了会话,然后我就被注销了等等...

我错过了什么?最近是否有某些超级浏览器安全升级生效了吗?

任何指导都非常棒。

PS. 我已经放置了P3P头文件。

1个回答

2

对于和我一样遇到同样问题的人,微软的一个累积更新改变了默认的cookie行为,从SameSite=None -> SameSite=Lax。

https://support.microsoft.com/en-us/help/4533013/kb4533013-cumulative-update-for-net-framework

为了修复这个问题,我认为这只是一个临时的解决方法(在Chrome控制台中显示的信息 ->与跨站点资源相关联的cookie未设置SameSite属性。未来的Chrome版本只有在使用SameSite=NoneSecure设置时才会发送跨站点请求的cookie。您可以在开发人员工具下的Application>Storage>Cookies中查看cookie,并在 以及查看更多详细信息),需要在您的web.config文件中添加以下内容:

<sessionState cookieSameSite="None" ..other attributes here.. />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接