【发布时间】:2019-05-07 13:55:25
【问题描述】:
我的场景:
App_1 和 App_2 是我的 MVC Web 应用程序。 App_1 是 MVC 4.5,App_2 是 MVC.NET Core 2。
我将 IdentityServer4 用于 SSO。
我有一个页面可以登录并使用 IdentityServer4 进行身份验证
在 App_1 中,我使用 iFrame 将 App_2 嵌入其中。 App_1 & App_2 是同一个域,不同的子域
现在,我通过 Internet Explorer 通过登录页面登录 App_1。登录成功后,UM 将我重定向到 App_1,我可以正常使用 App_1 和 App_2。我可以在 App_1 中显示 App_2 的内容,使用 App_2 功能...
我还将两个应用程序的会话超时设置为 6 小时。
但是,当我在 App_1 中工作了一段时间(1-2 小时)后,App_2 将在 iFrame 中丢失其会话并显示错误:“此内容无法在框架中显示”作为下图:
如果我注销并重新登录,我可以正常访问两个应用程序,然后过一段时间,App_2会再次死机,并显示相同的错误。
任何建议发生了什么以及如何解决此问题?
【问题讨论】:
-
我有类似的问题,但仅限于 IE。是由于 csp 配置造成的。在其他浏览器中工作,所以我建议首先检查不同类型的浏览器是否存在相同的问题。
-
Chrome 也出现过这种情况
标签: c# iframe model-view-controller identityserver4 session-timeout